Details

Time bar (total: 8.3s)

analyze69.0ms (0.8%)

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
25%25%74.9%0.1%0%0%0%5
43.8%43.7%56.2%0.1%0%0%0%6
62.5%62.4%37.5%0.1%0%0%0%7
70.3%70.2%29.7%0.1%0%0%0%8
78.1%78%21.9%0.1%0%0%0%9
83.2%83.1%16.8%0.1%0%0%0%10
88.3%88.2%11.7%0.1%0%0%0%11
91.1%91%8.9%0.1%0%0%0%12
Compiler

Compiled 9 to 6 computations (33.3% saved)

sample1.3s (15.5%)

Results
703.0ms6074×body256valid
397.0ms1319×body1024valid
181.0ms860×body512valid
1.0msbody2048valid
Bogosity

preprocess115.0ms (1.4%)

Algorithm
egg-herbie
Rules
1570×rational.json-simplify-35
1158×rational.json-simplify-26
1060×rational.json-simplify-2
1052×rational.json-simplify-1
644×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
12534
23534
35634
49734
520134
650634
783234
8157334
9226534
10398534
11594834
12733434
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 y (/.f64 (sin.f64 x) x))
Outputs
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 y (/.f64 (sin.f64 x) x))
(*.f64 (sin.f64 x) (/.f64 y x))
Compiler

Compiled 10 to 7 computations (30% saved)

simplify98.0ms (1.2%)

Algorithm
egg-herbie
Rules
1676×rational.json-simplify-35
1012×rational.json-simplify-51
978×rational.json-simplify-2
942×rational.json-simplify-48
806×rational.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
11617
22117
33217
45317
510617
625717
775117
8132217
9228217
10325017
11481317
12723017
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 x (/.f64 (sin.f64 y) y))
Outputs
(*.f64 x (/.f64 (sin.f64 y) y))

eval0.0ms (0%)

Compiler

Compiled 8 to 5 computations (37.5% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.2b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(*.f64 x (/.f64 (sin.f64 y) y))
Compiler

Compiled 8 to 5 computations (37.5% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 16 to 5 computations (68.8% saved)

series5.0ms (0.1%)

Counts
2 → 28
Calls

9 calls:

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

rewrite90.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0828
15828
215628
338228
4102128
5452428
Stop Event
node limit
Counts
2 → 197
Calls
Call 1
Inputs
(/.f64 (sin.f64 y) y)
(*.f64 x (/.f64 (sin.f64 y) y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sin.f64 y) y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (*.f64 (sin.f64 y) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sin.f64 y) y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 (/.f64 1 (sin.f64 y)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (*.f64 (*.f64 2 (/.f64 1 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (*.f64 (/.f64 2 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 y) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (*.f64 1/2 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (*.f64 (/.f64 1 (*.f64 y 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (*.f64 1/4 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 1 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (*.f64 (/.f64 -1 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (*.f64 -1 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (sin.f64 y)) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (sin.f64 y)) (/.f64 2 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 y) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (sin.f64 y) 2) (neg.f64 (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 1/2 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 (sin.f64 y) y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 8) (/.f64 1 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) (/.f64 y (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) (/.f64 (+.f64 y y) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) -2) (/.f64 1/2 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 (neg.f64 (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 (+.f64 y y) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 y (sin.f64 y))) (/.f64 2 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 (sin.f64 y) y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 4)) (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 y) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (sin.f64 y)) (/.f64 (neg.f64 y) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 y) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 y) (neg.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) (*.f64 (/.f64 y x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) (*.f64 -1 (/.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) y) (*.f64 (/.f64 1 x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) y) (*.f64 1/2 (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 y (*.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 y (*.f64 (sin.f64 y) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 2) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 2) (+.f64 (/.f64 y x) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 2) (*.f64 (*.f64 y (/.f64 2 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 2) (*.f64 -2 (/.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 y (*.f64 (sin.f64 y) x)) (/.f64 y (*.f64 (sin.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 y) y) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (+.f64 (/.f64 1 x) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 2 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 2 x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (+.f64 (*.f64 y (/.f64 2 x)) (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (/.f64 (*.f64 y 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (*.f64 4 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (*.f64 (*.f64 y 4) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (*.f64 2 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (*.f64 (+.f64 y y) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (*.f64 -4 (/.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (/.f64 4 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (*.f64 y (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (/.f64 (/.f64 1 (sin.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) (/.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) (*.f64 (/.f64 y (neg.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) (/.f64 (neg.f64 (+.f64 y y)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (sin.f64 y)) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 y (neg.f64 (sin.f64 y))) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 (/.f64 y (sin.f64 y))) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (+.f64 (/.f64 2 x) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (/.f64 4 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (*.f64 4 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (*.f64 2 (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 8) (/.f64 (*.f64 y 8) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 8) (*.f64 8 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 8) (*.f64 (*.f64 y 8) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 8) (*.f64 4 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 (/.f64 y (sin.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (*.f64 1/2 (/.f64 y (sin.f64 y))) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 y (sin.f64 y)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 (sin.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) (+.f64 (/.f64 y (neg.f64 x)) (/.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) (/.f64 (*.f64 y -2) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) (/.f64 (neg.f64 (+.f64 y y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) (*.f64 (*.f64 y -2) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) (*.f64 (neg.f64 (+.f64 y y)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) (*.f64 (neg.f64 y) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) (*.f64 2 (/.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 (sin.f64 y) y)) (/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (sin.f64 y) y) 4)) (*.f64 8 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (*.f64 (*.f64 2 (*.f64 y 8)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 4)) (+.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (*.f64 (/.f64 y (sin.f64 y)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 4)) (*.f64 8 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 1/2 y)) (/.f64 1/2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (*.f64 -1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 2 y))) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (/.f64 1 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (*.f64 1/2 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/2) (*.f64 1/2 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) (*.f64 (sin.f64 y) 1/2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (neg.f64 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (*.f64 (neg.f64 (/.f64 y (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 (*.f64 2 (*.f64 y -2)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 (*.f64 2 (neg.f64 (+.f64 y y))) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 (neg.f64 (*.f64 y 4)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 4 (/.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (sin.f64 y) y)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 x y) (/.f64 x y)) (+.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y)))) (*.f64 2 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 x) (neg.f64 x)) (+.f64 (neg.f64 (/.f64 y (sin.f64 y))) (neg.f64 (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) y) (/.f64 2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) 8) (/.f64 y x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 1 x)) (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 1 x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 1 x)) (*.f64 y (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 x)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 y) (/.f64 1 x)) (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 1 x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 y (sin.f64 y)) (/.f64 1 x)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 1 x)) (neg.f64 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 1 x)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 1 x)) (*.f64 (/.f64 y (sin.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) 8) (/.f64 1 x)) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 x)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 x)) (neg.f64 (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 (sin.f64 y) y) 4)) (/.f64 1 x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (/.f64 1 x)) (*.f64 2 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 1 x)) (*.f64 2 (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 1 x)) (*.f64 2 (neg.f64 (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 1 x)) (neg.f64 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) (/.f64 1 x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 x 4)) (/.f64 y (sin.f64 y))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 2 x)) (*.f64 1/2 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 2 x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 2 x)) (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) 4) (/.f64 2 x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 2 x)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 2 x)) (*.f64 y (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) -2) (/.f64 2 x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (/.f64 2 x)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 2 y))) (/.f64 2 x)) (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 y (neg.f64 x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) 4) (/.f64 y (neg.f64 x))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 y (neg.f64 x))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (/.f64 1 (sin.f64 y))) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x 1/2) (*.f64 y (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 x x)) (-.f64 0 (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 x y)) (-.f64 0 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 x)) (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))))

simplify100.0ms (1.2%)

Algorithm
egg-herbie
Rules
1704×rational.json-simplify-35
942×rational.json-simplify-51
762×rational.json-simplify-61
744×rational.json-simplify-44
684×rational.json-simplify-49
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04524489
116094399
255814373
Stop Event
node limit
Counts
225 → 248
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 (*.f64 -1/5040 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(+.f64 (/.f64 (sin.f64 y) y) 0)
(+.f64 0 (/.f64 (sin.f64 y) y))
(+.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(-.f64 (/.f64 (sin.f64 y) y) 0)
(*.f64 y (/.f64 (/.f64 1 (sin.f64 y)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (sin.f64 y) (/.f64 1 y))
(*.f64 (sin.f64 y) (*.f64 (*.f64 2 (/.f64 1 y)) 1/2))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) 1/2))
(*.f64 (/.f64 (sin.f64 y) y) 1)
(*.f64 1 (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 1/2 y))
(*.f64 2 (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) 1/2)
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 y 4)))
(*.f64 (*.f64 (sin.f64 y) 4) (*.f64 1/2 (/.f64 1/2 y)))
(*.f64 (*.f64 (sin.f64 y) 4) (*.f64 (/.f64 1 (*.f64 y 4)) 1))
(*.f64 (*.f64 (sin.f64 y) 4) (*.f64 1/4 (/.f64 1 y)))
(*.f64 (/.f64 1 y) (sin.f64 y))
(*.f64 (/.f64 1 y) (/.f64 1 (/.f64 1 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 y))
(*.f64 (neg.f64 (sin.f64 y)) (*.f64 (/.f64 -1 y) 1))
(*.f64 (neg.f64 (sin.f64 y)) (*.f64 -1 (/.f64 1 y)))
(*.f64 (/.f64 y (sin.f64 y)) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 y (sin.f64 y)) (/.f64 2 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 -1 (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 -1 (*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) 1))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 y) 2) (neg.f64 (+.f64 y y))))
(*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 1/2 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4)))
(*.f64 4 (/.f64 (/.f64 (sin.f64 y) y) 4))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) 1/4)
(*.f64 (*.f64 (sin.f64 y) 8) (/.f64 1 (*.f64 y 8)))
(*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 y (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 (+.f64 y y) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 1/2 (neg.f64 y)))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 (*.f64 y -2)))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 (neg.f64 (+.f64 y y))))
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) -1)
(*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 (+.f64 y y) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) 2)
(*.f64 (*.f64 1/2 (/.f64 y (sin.f64 y))) (/.f64 2 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 2 y) (*.f64 (sin.f64 y) 1/2))
(*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 2 y))
(*.f64 1/4 (*.f64 (/.f64 (sin.f64 y) y) 4))
(*.f64 (/.f64 1 (*.f64 y 4)) (*.f64 (sin.f64 y) 4))
(*.f64 (/.f64 -1 y) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 (/.f64 -1 (sin.f64 y)) (/.f64 (neg.f64 y) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(pow.f64 (/.f64 (sin.f64 y) y) 1)
(neg.f64 (/.f64 (sin.f64 y) (neg.f64 y)))
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(/.f64 (sin.f64 y) (/.f64 y x))
(/.f64 (sin.f64 y) (*.f64 (/.f64 y x) 1))
(/.f64 (sin.f64 y) (*.f64 -1 (/.f64 y (neg.f64 x))))
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
(/.f64 (/.f64 (sin.f64 y) y) (*.f64 (/.f64 1 x) 1))
(/.f64 (/.f64 (sin.f64 y) y) (*.f64 1/2 (/.f64 2 x)))
(/.f64 x (/.f64 y (sin.f64 y)))
(/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(/.f64 1 (/.f64 y (*.f64 (sin.f64 y) x)))
(/.f64 1 (*.f64 (/.f64 y (*.f64 (sin.f64 y) x)) 1))
(/.f64 (*.f64 (sin.f64 y) 2) (*.f64 y (/.f64 2 x)))
(/.f64 (*.f64 (sin.f64 y) 2) (+.f64 (/.f64 y x) (/.f64 y x)))
(/.f64 (*.f64 (sin.f64 y) 2) (*.f64 (*.f64 y (/.f64 2 x)) 1))
(/.f64 (*.f64 (sin.f64 y) 2) (*.f64 -2 (/.f64 y (neg.f64 x))))
(/.f64 2 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)))
(/.f64 2 (+.f64 (/.f64 y (*.f64 (sin.f64 y) x)) (/.f64 y (*.f64 (sin.f64 y) x))))
(/.f64 2 (*.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)) 1))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) (+.f64 x x)) 2)
(/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 2 x))
(/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (+.f64 (/.f64 1 x) (/.f64 1 x)))
(/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 2 (/.f64 1 x)))
(/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 2 x) 1))
(/.f64 (*.f64 (sin.f64 y) 4) (+.f64 (*.f64 y (/.f64 2 x)) (*.f64 y (/.f64 2 x))))
(/.f64 (*.f64 (sin.f64 y) 4) (/.f64 (*.f64 y 4) x))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 4 (/.f64 y x)))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 (*.f64 y 4) (/.f64 1 x)))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 2 (*.f64 y (/.f64 2 x))))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 (+.f64 y y) (/.f64 2 x)))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 -4 (/.f64 y (neg.f64 x))))
(/.f64 (*.f64 (sin.f64 y) 4) (/.f64 4 (/.f64 x y)))
(/.f64 (+.f64 x x) (*.f64 y (/.f64 2 (sin.f64 y))))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 (sin.f64 y)) x))
(/.f64 (/.f64 1 y) (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 x)))
(/.f64 (neg.f64 (sin.f64 y)) (/.f64 y (neg.f64 x)))
(/.f64 (neg.f64 (sin.f64 y)) (*.f64 (/.f64 y (neg.f64 x)) 1))
(/.f64 (neg.f64 (sin.f64 y)) (/.f64 (neg.f64 (+.f64 y y)) (+.f64 x x)))
(/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 x y)))
(/.f64 (/.f64 y (sin.f64 y)) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))) (/.f64 1 x)))
(/.f64 -1 (/.f64 (/.f64 y (neg.f64 (sin.f64 y))) x))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 y (sin.f64 y))) (/.f64 1 x)))
(/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))) (/.f64 1 x)))
(/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))) (/.f64 2 x)))
(/.f64 4 (+.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x))))
(/.f64 4 (/.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) x))
(/.f64 4 (*.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (/.f64 1 x)))
(/.f64 4 (*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 2 x)))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (+.f64 (/.f64 2 x) (/.f64 2 x)))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (/.f64 4 x))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (*.f64 4 (/.f64 1 x)))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (*.f64 2 (/.f64 2 x)))
(/.f64 (*.f64 (sin.f64 y) 8) (/.f64 (*.f64 y 8) x))
(/.f64 (*.f64 (sin.f64 y) 8) (*.f64 8 (/.f64 y x)))
(/.f64 (*.f64 (sin.f64 y) 8) (*.f64 (*.f64 y 8) (/.f64 1 x)))
(/.f64 (*.f64 (sin.f64 y) 8) (*.f64 4 (*.f64 y (/.f64 2 x))))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y))) 4)
(/.f64 (*.f64 x 4) (*.f64 (/.f64 y (sin.f64 y)) 4))
(/.f64 (*.f64 x 4) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) 1))
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
(/.f64 1/2 (/.f64 (*.f64 1/2 (/.f64 y (sin.f64 y))) x))
(/.f64 1/2 (/.f64 (/.f64 y (sin.f64 y)) (+.f64 x x)))
(/.f64 1/2 (/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y)))
(/.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 (sin.f64 y)) x))
(/.f64 (*.f64 (sin.f64 y) -2) (+.f64 (/.f64 y (neg.f64 x)) (/.f64 y (neg.f64 x))))
(/.f64 (*.f64 (sin.f64 y) -2) (/.f64 (*.f64 y -2) x))
(/.f64 (*.f64 (sin.f64 y) -2) (/.f64 (neg.f64 (+.f64 y y)) x))
(/.f64 (*.f64 (sin.f64 y) -2) (*.f64 (*.f64 y -2) (/.f64 1 x)))
(/.f64 (*.f64 (sin.f64 y) -2) (*.f64 (neg.f64 (+.f64 y y)) (/.f64 1 x)))
(/.f64 (*.f64 (sin.f64 y) -2) (*.f64 (neg.f64 y) (/.f64 2 x)))
(/.f64 (*.f64 (sin.f64 y) -2) (*.f64 2 (/.f64 y (neg.f64 x))))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 (sin.f64 y) y)) (/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (+.f64 x x)))
(/.f64 (*.f64 2 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y)))) 8)
(/.f64 (*.f64 2 (*.f64 (/.f64 (sin.f64 y) y) 4)) (*.f64 8 (/.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (*.f64 (*.f64 2 (*.f64 y 8)) (/.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 x 4)) (+.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (*.f64 (/.f64 y (sin.f64 y)) 4)))
(/.f64 (*.f64 2 (*.f64 x 4)) (*.f64 8 (/.f64 y (sin.f64 y))))
(/.f64 (*.f64 x (/.f64 1/2 y)) (/.f64 1/2 (sin.f64 y)))
(/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 -1 x))
(/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (*.f64 -1 (/.f64 1 x)))
(/.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))) (/.f64 2 x)))
(/.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 2 y))) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)))
(/.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (/.f64 1 (+.f64 x x)))
(/.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (*.f64 1/2 (/.f64 1 x)))
(/.f64 (*.f64 x 1/2) (*.f64 1/2 (/.f64 y (sin.f64 y))))
(/.f64 (*.f64 (/.f64 x y) (*.f64 (sin.f64 y) 1/2)) 1/2)
(/.f64 (neg.f64 x) (neg.f64 (/.f64 y (sin.f64 y))))
(/.f64 (neg.f64 x) (*.f64 (neg.f64 (/.f64 y (sin.f64 y))) 1))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 (*.f64 2 (*.f64 y -2)) (/.f64 1 x)))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 (*.f64 2 (neg.f64 (+.f64 y y))) (/.f64 1 x)))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 (neg.f64 (*.f64 y 4)) (/.f64 1 x)))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 4 (/.f64 y (neg.f64 x))))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) (*.f64 y (/.f64 2 x)))
(/.f64 (neg.f64 (/.f64 (sin.f64 y) y)) (/.f64 -1 x))
(/.f64 (+.f64 (/.f64 x y) (/.f64 x y)) (+.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (sin.f64 y))))
(/.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y)))) (*.f64 2 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y))))) 16)
(/.f64 (+.f64 (neg.f64 x) (neg.f64 x)) (+.f64 (neg.f64 (/.f64 y (sin.f64 y))) (neg.f64 (/.f64 y (sin.f64 y)))))
(/.f64 (/.f64 (+.f64 x x) y) (/.f64 2 (sin.f64 y)))
(/.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 y x)) -1)
(/.f64 (/.f64 (*.f64 (sin.f64 y) 8) (/.f64 y x)) 8)
(/.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) y)
(/.f64 (/.f64 1 (/.f64 1 x)) (/.f64 y (sin.f64 y)))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 1 x)) (+.f64 y y))
(/.f64 (/.f64 2 (/.f64 1 x)) (*.f64 y (/.f64 2 (sin.f64 y))))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 x)) (*.f64 y 4))
(/.f64 (/.f64 (/.f64 1 y) (/.f64 1 x)) (/.f64 1 (sin.f64 y)))
(/.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 1 x)) (neg.f64 y))
(/.f64 (/.f64 (/.f64 y (sin.f64 y)) (/.f64 1 x)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))
(/.f64 (/.f64 -1 (/.f64 1 x)) (neg.f64 (/.f64 y (sin.f64 y))))
(/.f64 (/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 1 x)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (/.f64 4 (/.f64 1 x)) (*.f64 (/.f64 y (sin.f64 y)) 4))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 8) (/.f64 1 x)) (*.f64 y 8))
(/.f64 (/.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 x)) (*.f64 y -2))
(/.f64 (/.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 x)) (neg.f64 (+.f64 y y)))
(/.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 (sin.f64 y) y) 4)) (/.f64 1 x)) 8)
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (/.f64 1 x)) (*.f64 2 (*.f64 y 8)))
(/.f64 (/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 1 x)) -1)
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 1 x)) (*.f64 2 (*.f64 y -2)))
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 1 x)) (*.f64 2 (neg.f64 (+.f64 y y))))
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 1 x)) (neg.f64 (*.f64 y 4)))
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) (/.f64 1 x)) (+.f64 y y))
(/.f64 (/.f64 (*.f64 2 (*.f64 x 4)) (/.f64 y (sin.f64 y))) 8)
(/.f64 (/.f64 1 (/.f64 2 x)) (*.f64 1/2 (/.f64 y (sin.f64 y))))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 2 x)) y)
(/.f64 (/.f64 2 (/.f64 2 x)) (/.f64 y (sin.f64 y)))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 4) (/.f64 2 x)) (+.f64 y y))
(/.f64 (/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 2 x)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))
(/.f64 (/.f64 4 (/.f64 2 x)) (*.f64 y (/.f64 2 (sin.f64 y))))
(/.f64 (/.f64 (*.f64 (sin.f64 y) -2) (/.f64 2 x)) (neg.f64 y))
(/.f64 (/.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (/.f64 2 x)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (/.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 2 y))) (/.f64 2 x)) (/.f64 y (sin.f64 y)))
(/.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))) -1)
(/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 y (neg.f64 x))) -2)
(/.f64 (/.f64 (*.f64 (sin.f64 y) 4) (/.f64 y (neg.f64 x))) -4)
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 y (neg.f64 x))) 4)
(/.f64 (/.f64 x (/.f64 1 (sin.f64 y))) y)
(/.f64 (/.f64 x 1/2) (*.f64 y (/.f64 2 (sin.f64 y))))
(/.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 (sin.f64 y)))
(/.f64 (neg.f64 (+.f64 x x)) (-.f64 0 (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (neg.f64 (/.f64 x y)) (-.f64 0 (/.f64 1 (sin.f64 y))))
(/.f64 (neg.f64 (neg.f64 x)) (/.f64 y (sin.f64 y)))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
Outputs
1
(+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 (*.f64 -1/5040 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))) (*.f64 -1/5040 (pow.f64 y 6))))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 -1/5040 (pow.f64 y 6)))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)))
(+.f64 x (*.f64 (pow.f64 y 2) (*.f64 -1/6 x)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 x (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 (+.f64 x (*.f64 (pow.f64 y 2) (*.f64 -1/6 x))) (*.f64 1/120 (*.f64 (pow.f64 y 4) x)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 x (*.f64 (pow.f64 y 6) (*.f64 x -1/5040)))))
(+.f64 (*.f64 (pow.f64 y 6) (*.f64 -1/5040 x)) (+.f64 (+.f64 x (*.f64 (pow.f64 y 2) (*.f64 -1/6 x))) (*.f64 1/120 (*.f64 (pow.f64 y 4) x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 (pow.f64 y 6) (*.f64 -1/5040 x)) (+.f64 x (*.f64 (pow.f64 y 2) (*.f64 -1/6 x)))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 (/.f64 (sin.f64 y) y) 0)
(/.f64 (sin.f64 y) y)
(+.f64 0 (/.f64 (sin.f64 y) y))
(/.f64 (sin.f64 y) y)
(+.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(/.f64 (sin.f64 y) y)
(-.f64 (/.f64 (sin.f64 y) y) 0)
(/.f64 (sin.f64 y) y)
(*.f64 y (/.f64 (/.f64 1 (sin.f64 y)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 y (/.f64 (sin.f64 y) (/.f64 y (/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y)))))
(*.f64 (sin.f64 y) (/.f64 1 y))
(/.f64 (sin.f64 y) y)
(*.f64 (sin.f64 y) (*.f64 (*.f64 2 (/.f64 1 y)) 1/2))
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (sin.f64 y) (*.f64 (/.f64 1 y) 1))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) 1/2))
(/.f64 (sin.f64 y) y)
(*.f64 (/.f64 (sin.f64 y) y) 1)
(/.f64 (sin.f64 y) y)
(*.f64 1 (/.f64 (sin.f64 y) y))
(/.f64 (sin.f64 y) y)
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 1/2 y))
(/.f64 (sin.f64 y) y)
(*.f64 2 (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(/.f64 (sin.f64 y) y)
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) 1/2)
(/.f64 (sin.f64 y) y)
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 y 4)))
(*.f64 (*.f64 4 (sin.f64 y)) (/.f64 1 (*.f64 y 4)))
(*.f64 4 (*.f64 (/.f64 1/4 y) (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) 4) (*.f64 1/2 (/.f64 1/2 y)))
(/.f64 (sin.f64 y) y)
(*.f64 (*.f64 (sin.f64 y) 4) (*.f64 (/.f64 1 (*.f64 y 4)) 1))
(*.f64 (*.f64 4 (sin.f64 y)) (/.f64 1 (*.f64 y 4)))
(*.f64 4 (*.f64 (/.f64 1/4 y) (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) 4) (*.f64 1/4 (/.f64 1 y)))
(/.f64 (sin.f64 y) y)
(*.f64 (/.f64 1 y) (sin.f64 y))
(/.f64 (sin.f64 y) y)
(*.f64 (/.f64 1 y) (/.f64 1 (/.f64 1 (sin.f64 y))))
(/.f64 (sin.f64 y) y)
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 y))
(/.f64 (sin.f64 y) y)
(*.f64 (neg.f64 (sin.f64 y)) (*.f64 (/.f64 -1 y) 1))
(/.f64 (sin.f64 y) y)
(*.f64 (neg.f64 (sin.f64 y)) (*.f64 -1 (/.f64 1 y)))
(/.f64 (sin.f64 y) y)
(*.f64 (/.f64 y (sin.f64 y)) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 y (sin.f64 y)) (/.f64 (/.f64 (sin.f64 y) y) (/.f64 y (sin.f64 y))))
(/.f64 y (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (/.f64 y (sin.f64 y)) (sin.f64 y))))
(*.f64 (/.f64 y (sin.f64 y)) (/.f64 2 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 (/.f64 y (sin.f64 y)) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 y (sin.f64 y)) (/.f64 (/.f64 (sin.f64 y) y) (/.f64 y (sin.f64 y))))
(/.f64 y (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (/.f64 y (sin.f64 y)) (sin.f64 y))))
(*.f64 -1 (/.f64 (sin.f64 y) (neg.f64 y)))
(/.f64 (sin.f64 y) y)
(*.f64 -1 (*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) 1))
(/.f64 (sin.f64 y) y)
(*.f64 -1 (/.f64 (*.f64 (sin.f64 y) 2) (neg.f64 (+.f64 y y))))
(/.f64 (sin.f64 y) y)
(*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 (/.f64 1 (/.f64 y (sin.f64 y))) (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 (/.f64 (sin.f64 y) y) (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 (/.f64 (sin.f64 y) y) (/.f64 y (/.f64 (sin.f64 y) 2)))))
(*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 1/2 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 (sin.f64 y) (/.f64 y (*.f64 (/.f64 (sin.f64 y) y) 1/2)))))
(*.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 (sin.f64 y) (/.f64 y (*.f64 (sin.f64 y) (/.f64 1/2 y))))))
(*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4)))
(/.f64 (sin.f64 y) y)
(*.f64 4 (/.f64 (/.f64 (sin.f64 y) y) 4))
(/.f64 (sin.f64 y) y)
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) 1/4)
(/.f64 (sin.f64 y) y)
(*.f64 (*.f64 (sin.f64 y) 8) (/.f64 1 (*.f64 y 8)))
(/.f64 (sin.f64 y) y)
(*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 2 y)))
(/.f64 (sin.f64 y) y)
(*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) 2))
(/.f64 (sin.f64 y) y)
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 y (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 (+.f64 y y) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 (+.f64 y y) (*.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (sin.f64 y))))))
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 (/.f64 (sin.f64 y) (/.f64 y (+.f64 y y))) (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (/.f64 (+.f64 y y) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (/.f64 (sin.f64 y) 2)))) (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 1/2 (neg.f64 y)))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 -1/2 y))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 (*.f64 y -2)))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 1/2 (neg.f64 y)))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 -1/2 y))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 (neg.f64 (+.f64 y y))))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 1/2 (neg.f64 y)))
(*.f64 (*.f64 (sin.f64 y) -2) (/.f64 -1/2 y))
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (sin.f64 y) (*.f64 (/.f64 1 y) 1))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) -1)
(/.f64 (sin.f64 y) y)
(*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 (+.f64 y y) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 (sin.f64 y) (/.f64 y (/.f64 (sin.f64 y) (/.f64 y (+.f64 y y))))))
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) 2)
(/.f64 (sin.f64 y) y)
(*.f64 (*.f64 1/2 (/.f64 y (sin.f64 y))) (/.f64 2 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (*.f64 1/2 (/.f64 y (sin.f64 y))) (/.f64 (/.f64 2 (/.f64 y (sin.f64 y))) (/.f64 y (sin.f64 y))))
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 2 y) (*.f64 (sin.f64 y) 1/2))
(/.f64 (sin.f64 y) y)
(*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 2 y))
(/.f64 (sin.f64 y) y)
(*.f64 1/4 (*.f64 (/.f64 (sin.f64 y) y) 4))
(/.f64 (sin.f64 y) y)
(*.f64 (/.f64 1 (*.f64 y 4)) (*.f64 (sin.f64 y) 4))
(*.f64 (*.f64 4 (sin.f64 y)) (/.f64 1 (*.f64 y 4)))
(*.f64 4 (*.f64 (/.f64 1/4 y) (sin.f64 y)))
(*.f64 (/.f64 -1 y) (neg.f64 (sin.f64 y)))
(/.f64 (sin.f64 y) y)
(*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 (/.f64 2 (sin.f64 y)) (/.f64 (/.f64 y (/.f64 y (sin.f64 y))) (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 (/.f64 2 (sin.f64 y)) (/.f64 (/.f64 y (/.f64 y (sin.f64 y))) (/.f64 y (/.f64 (sin.f64 y) 2))))
(*.f64 (/.f64 -1 (sin.f64 y)) (/.f64 (neg.f64 y) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 -1 (sin.f64 y)) (/.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 y))) (/.f64 y (sin.f64 y))))
(/.f64 (/.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 y))) (/.f64 y (sin.f64 y))) (neg.f64 (sin.f64 y)))
(pow.f64 (/.f64 (sin.f64 y) y) 1)
(/.f64 (sin.f64 y) y)
(neg.f64 (/.f64 (sin.f64 y) (neg.f64 y)))
(/.f64 (sin.f64 y) y)
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (sin.f64 y) (/.f64 y x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (sin.f64 y) (*.f64 (/.f64 y x) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (sin.f64 y) (*.f64 -1 (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (sin.f64 y) y) (*.f64 (/.f64 1 x) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (sin.f64 y) y) (*.f64 1/2 (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 x (/.f64 y (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 1 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 1 (*.f64 (/.f64 y (*.f64 (sin.f64 y) x)) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 2) (*.f64 y (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 2) (+.f64 (/.f64 y x) (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 2) (*.f64 (*.f64 y (/.f64 2 x)) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 2) (*.f64 -2 (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 2 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 2 (+.f64 (/.f64 y (*.f64 (sin.f64 y) x)) (/.f64 y (*.f64 (sin.f64 y) x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 2 (*.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) (+.f64 x x)) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 2 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (+.f64 (/.f64 1 x) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 2 (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 2 x) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 4) (+.f64 (*.f64 y (/.f64 2 x)) (*.f64 y (/.f64 2 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 4) (/.f64 (*.f64 y 4) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 4 (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 (*.f64 y 4) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 2 (*.f64 y (/.f64 2 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 (+.f64 y y) (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 -4 (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 4) (/.f64 4 (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (+.f64 x x) (*.f64 y (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 (sin.f64 y)) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 1 y) (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (sin.f64 y)) (/.f64 y (neg.f64 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (sin.f64 y)) (*.f64 (/.f64 y (neg.f64 x)) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (sin.f64 y)) (/.f64 (neg.f64 (+.f64 y y)) (+.f64 x x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 y (sin.f64 y)) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 -1 (/.f64 (/.f64 y (neg.f64 (sin.f64 y))) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 y (sin.f64 y))) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))) (/.f64 1 x)))
(/.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (/.f64 1 x))) (*.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(/.f64 (*.f64 (/.f64 y (sin.f64 y)) (+.f64 x x)) (*.f64 y (*.f64 (/.f64 y (sin.f64 y)) (/.f64 2 (sin.f64 y)))))
(/.f64 (/.f64 y (/.f64 (sin.f64 y) 2)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x))))
(/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))) (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 4 (+.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 4 (/.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 4 (*.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 4 (*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (+.f64 (/.f64 2 x) (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (/.f64 4 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (*.f64 4 (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (*.f64 2 (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 8) (/.f64 (*.f64 y 8) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 8) (*.f64 8 (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 8) (*.f64 (*.f64 y 8) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) 8) (*.f64 4 (*.f64 y (/.f64 2 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y))) 4)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x 4) (*.f64 (/.f64 y (sin.f64 y)) 4))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x 4) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 1/2 (/.f64 (*.f64 1/2 (/.f64 y (sin.f64 y))) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 1/2 (/.f64 (/.f64 y (sin.f64 y)) (+.f64 x x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 1/2 (/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 (sin.f64 y)) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) -2) (+.f64 (/.f64 y (neg.f64 x)) (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) -2) (/.f64 (*.f64 y -2) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) -2) (/.f64 (neg.f64 (+.f64 y y)) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) -2) (*.f64 (*.f64 y -2) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) -2) (*.f64 (neg.f64 (+.f64 y y)) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) -2) (*.f64 (neg.f64 y) (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) -2) (*.f64 2 (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 (sin.f64 y) y)) (/.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (+.f64 x x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 2 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y)))) 8)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 2 (*.f64 (/.f64 (sin.f64 y) y) 4)) (*.f64 8 (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (*.f64 (*.f64 2 (*.f64 y 8)) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 2 (*.f64 x 4)) (+.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (*.f64 (/.f64 y (sin.f64 y)) 4)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 2 (*.f64 x 4)) (*.f64 8 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (/.f64 1/2 y)) (/.f64 1/2 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 -1 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (*.f64 -1 (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (*.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))) (/.f64 2 x)))
(/.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (/.f64 1 x))) (*.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(/.f64 (*.f64 (/.f64 y (sin.f64 y)) (+.f64 x x)) (*.f64 y (*.f64 (/.f64 y (sin.f64 y)) (/.f64 2 (sin.f64 y)))))
(/.f64 (/.f64 y (/.f64 (sin.f64 y) 2)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x))))
(/.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 2 y))) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 (/.f64 y (sin.f64 y)) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x))))
(/.f64 x (/.f64 y (/.f64 (sin.f64 y) (/.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))))
(/.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (/.f64 1 (+.f64 x x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (*.f64 1/2 (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x 1/2) (*.f64 1/2 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (/.f64 x y) (*.f64 (sin.f64 y) 1/2)) 1/2)
(*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 (/.f64 x y) 1/2))
(*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 x (*.f64 1/2 y)))
(*.f64 (/.f64 x y) (*.f64 (sin.f64 y) 1))
(/.f64 (neg.f64 x) (neg.f64 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 x) (*.f64 (neg.f64 (/.f64 y (sin.f64 y))) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 (*.f64 2 (*.f64 y -2)) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 (*.f64 2 (neg.f64 (+.f64 y y))) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 (neg.f64 (*.f64 y 4)) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (*.f64 4 (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) (*.f64 y (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (/.f64 (sin.f64 y) y)) (/.f64 -1 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (+.f64 (/.f64 x y) (/.f64 x y)) (+.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y)))) (*.f64 2 (/.f64 (*.f64 x 4) (/.f64 y (sin.f64 y))))) 16)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (+.f64 (neg.f64 x) (neg.f64 x)) (+.f64 (neg.f64 (/.f64 y (sin.f64 y))) (neg.f64 (/.f64 y (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (+.f64 x x) y) (/.f64 2 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 y x)) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 8) (/.f64 y x)) 8)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 1 (/.f64 1 x)) (/.f64 y (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 1 x)) (+.f64 y y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 2 (/.f64 1 x)) (*.f64 y (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 x)) (*.f64 y 4))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (/.f64 1 y) (/.f64 1 x)) (/.f64 1 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 1 x)) (neg.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (/.f64 y (sin.f64 y)) (/.f64 1 x)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 -1 (/.f64 1 x)) (neg.f64 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 1 x)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (/.f64 1 x))) (*.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(/.f64 (*.f64 (/.f64 y (sin.f64 y)) (+.f64 x x)) (*.f64 y (*.f64 (/.f64 y (sin.f64 y)) (/.f64 2 (sin.f64 y)))))
(/.f64 (/.f64 y (/.f64 (sin.f64 y) 2)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x))))
(/.f64 (/.f64 4 (/.f64 1 x)) (*.f64 (/.f64 y (sin.f64 y)) 4))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 8) (/.f64 1 x)) (*.f64 y 8))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 x)) (*.f64 y -2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) -2) (/.f64 1 x)) (neg.f64 (+.f64 y y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 (sin.f64 y) y) 4)) (/.f64 1 x)) 8)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (/.f64 1 x)) (*.f64 2 (*.f64 y 8)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 1 x)) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 1 x)) (*.f64 2 (*.f64 y -2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 1 x)) (*.f64 2 (neg.f64 (+.f64 y y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 1 x)) (neg.f64 (*.f64 y 4)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) (/.f64 1 x)) (+.f64 y y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 2 (*.f64 x 4)) (/.f64 y (sin.f64 y))) 8)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 1 (/.f64 2 x)) (*.f64 1/2 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 2 x)) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 2 (/.f64 2 x)) (/.f64 y (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 4) (/.f64 2 x)) (+.f64 y y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (/.f64 2 x)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 4 (/.f64 2 x)) (*.f64 y (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) -2) (/.f64 2 x)) (neg.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) (/.f64 2 x)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (/.f64 1 x))) (*.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (sin.f64 y)))))
(/.f64 (*.f64 (/.f64 y (sin.f64 y)) (+.f64 x x)) (*.f64 y (*.f64 (/.f64 y (sin.f64 y)) (/.f64 2 (sin.f64 y)))))
(/.f64 (/.f64 y (/.f64 (sin.f64 y) 2)) (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x))))
(/.f64 (/.f64 (*.f64 (/.f64 y (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 2 y))) (/.f64 2 x)) (/.f64 y (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 y (neg.f64 x))) -2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 4) (/.f64 y (neg.f64 x))) -4)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (/.f64 y (neg.f64 x))) 4)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 x (/.f64 1 (sin.f64 y))) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 x 1/2) (*.f64 y (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (+.f64 x x)) (-.f64 0 (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (/.f64 x y)) (-.f64 0 (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (neg.f64 x)) (/.f64 y (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))

eval45.0ms (0.5%)

Compiler

Compiled 3190 to 1592 computations (50.1% saved)

prune41.0ms (0.5%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New23711248
Fresh000
Picked011
Done000
Total23712249
Error
0b
Counts
249 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
7.5b
(/.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) y)
0.2b
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
7.5b
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
7.4b
(/.f64 (*.f64 (sin.f64 y) x) y)
7.9b
(/.f64 (sin.f64 y) (/.f64 y x))
0.1b
(/.f64 x (/.f64 y (sin.f64 y)))
8.0b
(/.f64 2 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)))
8.3b
(/.f64 1/2 (/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y)))
7.4b
(*.f64 (sin.f64 y) (/.f64 x y))
0.2b
(*.f64 x (/.f64 (sin.f64 y) y))
24.4b
(*.f64 x (*.f64 y (/.f64 (sin.f64 y) (/.f64 y (/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y))))))
32.8b
x
Compiler

Compiled 219 to 143 computations (34.7% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 16 to 5 computations (68.8% saved)

series1.0ms (0%)

Counts
2 → 28
Calls

9 calls:

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

rewrite83.0ms (1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0828
16228
220228
362728
4227628
5601128
Stop Event
node limit
Counts
2 → 79
Calls
Call 1
Inputs
(/.f64 y (sin.f64 y))
(/.f64 x (/.f64 y (sin.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 y (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 y (*.f64 (sin.f64 y) 2)) (/.f64 y (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 y (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (neg.f64 y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 1/2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 1 (sin.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y y) (sin.f64 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 y (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 (sin.f64 y)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 (sin.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 y) (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (neg.f64 y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (sin.f64 y))) (/.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sin.f64 y)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (+.f64 y y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (sin.f64 y)) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 (sin.f64 y) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 y (sin.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 2) (*.f64 2 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 y (sin.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (sin.f64 y) 4)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (sin.f64 y)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 y) (sin.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))) (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 (/.f64 (sin.f64 y) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1 (+.f64 y y)) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 y) (*.f64 (/.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x (+.f64 y y)) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (/.f64 (sin.f64 y) y) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 (/.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 -1 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (/.f64 1 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (/.f64 (neg.f64 y) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 x (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (sin.f64 y) y) 2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 x)) (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 (neg.f64 y) (sin.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 1 (sin.f64 y))) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 (/.f64 y x) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 y x) 4)) (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 y (sin.f64 y))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (/.f64 (neg.f64 y) (sin.f64 y))))))))

simplify117.0ms (1.4%)

Algorithm
egg-herbie
Rules
1624×rational.json-simplify-35
818×rational.json-simplify-2
806×rational.json-simplify-41
802×rational.json-simplify-53
698×rational.json-simplify-55
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01761811
13631799
27681799
321781787
446341787
569821787
Stop Event
node limit
Counts
107 → 112
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/6 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 7/360 (pow.f64 y 4))))
(+.f64 1 (+.f64 (*.f64 31/15120 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 7/360 (pow.f64 y 4)))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(+.f64 (/.f64 y (sin.f64 y)) 0)
(+.f64 0 (/.f64 y (sin.f64 y)))
(+.f64 (/.f64 y (*.f64 (sin.f64 y) 2)) (/.f64 y (*.f64 (sin.f64 y) 2)))
(-.f64 (/.f64 y (sin.f64 y)) 0)
(-.f64 0 (/.f64 (neg.f64 y) (sin.f64 y)))
(*.f64 y (/.f64 1 (sin.f64 y)))
(*.f64 (/.f64 y (sin.f64 y)) 1)
(*.f64 1 (/.f64 y (sin.f64 y)))
(*.f64 (+.f64 y y) (/.f64 1/2 (sin.f64 y)))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 (sin.f64 y)) 1/2))
(*.f64 (/.f64 (+.f64 y y) (sin.f64 y)) 1/2)
(*.f64 2 (/.f64 y (*.f64 (sin.f64 y) 2)))
(*.f64 2 (/.f64 (/.f64 y (sin.f64 y)) 2))
(*.f64 2 (*.f64 (/.f64 1/2 (sin.f64 y)) y))
(*.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) 1/4)
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (sin.f64 y) 4)))
(*.f64 (/.f64 1 (sin.f64 y)) y)
(*.f64 (/.f64 (neg.f64 y) (sin.f64 y)) -1)
(*.f64 (neg.f64 y) (/.f64 -1 (sin.f64 y)))
(*.f64 -1 (/.f64 (neg.f64 y) (sin.f64 y)))
(*.f64 (*.f64 2 (/.f64 1 (sin.f64 y))) (/.f64 y 2))
(*.f64 (/.f64 1/2 (sin.f64 y)) (+.f64 y y))
(*.f64 1/2 (/.f64 (+.f64 y y) (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) 1/2) (+.f64 y y))
(*.f64 (/.f64 y (*.f64 (sin.f64 y) 2)) 2)
(*.f64 1/4 (*.f64 (/.f64 y (sin.f64 y)) 4))
(*.f64 (/.f64 y 2) (*.f64 2 (/.f64 1 (sin.f64 y))))
(*.f64 (/.f64 (/.f64 y (sin.f64 y)) 2) 2)
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) 4)) (*.f64 y 4))
(*.f64 (/.f64 -1 (sin.f64 y)) (neg.f64 y))
(pow.f64 (/.f64 y (sin.f64 y)) 1)
(neg.f64 (/.f64 (neg.f64 y) (sin.f64 y)))
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(+.f64 (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))) (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 (+.f64 x x) (/.f64 (/.f64 (sin.f64 y) y) 2))
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 (+.f64 y y)) (sin.f64 y)))
(*.f64 2 (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 (/.f64 y x) 2)))
(*.f64 2 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2))
(*.f64 2 (*.f64 (/.f64 x (+.f64 y y)) (sin.f64 y)))
(*.f64 2 (*.f64 (/.f64 (/.f64 (sin.f64 y) y) 2) x))
(*.f64 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))) 1/2)
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 (/.f64 y x) 4)))
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 y (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 y x)))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (/.f64 x y) (/.f64 1 (/.f64 1 (sin.f64 y))))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (/.f64 1 x)))
(*.f64 -1 (/.f64 x (/.f64 (neg.f64 y) (sin.f64 y))))
(*.f64 (/.f64 1 y) (/.f64 x (/.f64 1 (sin.f64 y))))
(*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 1 x)))
(*.f64 1/2 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) 2) (+.f64 x x))
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))
(*.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 x y))
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 x (/.f64 (neg.f64 y) (sin.f64 y))) -1)
(*.f64 (/.f64 x (/.f64 1 (sin.f64 y))) (/.f64 1 y))
(*.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) (/.f64 1 y))
(*.f64 (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))) 2)
(*.f64 (/.f64 (sin.f64 y) (*.f64 (/.f64 y x) 2)) 2)
(*.f64 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)) (*.f64 x 4))
(*.f64 (/.f64 1 (*.f64 (/.f64 y x) 4)) (*.f64 (sin.f64 y) 4))
(*.f64 (/.f64 -1 (/.f64 y (sin.f64 y))) (neg.f64 x))
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 (sin.f64 y)))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(neg.f64 (/.f64 x (/.f64 (neg.f64 y) (sin.f64 y))))
Outputs
1
(+.f64 1 (*.f64 1/6 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 7/360 (pow.f64 y 4))))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (+.f64 (*.f64 7/360 (pow.f64 y 4)) 1))
(+.f64 1 (+.f64 (*.f64 31/15120 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 7/360 (pow.f64 y 4)))))
(+.f64 (*.f64 31/15120 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (+.f64 (*.f64 7/360 (pow.f64 y 4)) 1)))
(+.f64 1 (+.f64 (*.f64 7/360 (pow.f64 y 4)) (+.f64 (*.f64 31/15120 (pow.f64 y 6)) (*.f64 1/6 (pow.f64 y 2)))))
(+.f64 1 (+.f64 (*.f64 7/360 (pow.f64 y 4)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 31/15120 (pow.f64 y 6)))))
(+.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (+.f64 (*.f64 7/360 (pow.f64 y 4)) (*.f64 31/15120 (pow.f64 y 6))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6)))
(+.f64 x (*.f64 x (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (+.f64 x (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (*.f64 x (*.f64 -1/6 (pow.f64 y 2)))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 x (*.f64 x (+.f64 (*.f64 (pow.f64 y 4) 1/120) (*.f64 (pow.f64 y 2) -1/6))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 (+.f64 x (*.f64 (pow.f64 y 6) (*.f64 x -1/5040))) (*.f64 (pow.f64 y 2) (*.f64 x -1/6))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (+.f64 x (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (*.f64 (pow.f64 y 6) (*.f64 x -1/5040)))))
(+.f64 x (+.f64 (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (*.f64 (pow.f64 y 4) (*.f64 x 1/120))) (*.f64 (pow.f64 y 6) (*.f64 x -1/5040))))
(+.f64 x (+.f64 (*.f64 x (+.f64 (*.f64 (pow.f64 y 2) -1/6) (*.f64 (pow.f64 y 6) -1/5040))) (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (*.f64 x (+.f64 (*.f64 (pow.f64 y 6) -1/5040) (*.f64 (pow.f64 y 4) 1/120)))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 (/.f64 y (sin.f64 y)) 0)
(/.f64 y (sin.f64 y))
(+.f64 0 (/.f64 y (sin.f64 y)))
(/.f64 y (sin.f64 y))
(+.f64 (/.f64 y (*.f64 (sin.f64 y) 2)) (/.f64 y (*.f64 (sin.f64 y) 2)))
(/.f64 y (sin.f64 y))
(-.f64 (/.f64 y (sin.f64 y)) 0)
(/.f64 y (sin.f64 y))
(-.f64 0 (/.f64 (neg.f64 y) (sin.f64 y)))
(/.f64 y (sin.f64 y))
(*.f64 y (/.f64 1 (sin.f64 y)))
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 y (sin.f64 y)) 1)
(/.f64 y (sin.f64 y))
(*.f64 1 (/.f64 y (sin.f64 y)))
(/.f64 y (sin.f64 y))
(*.f64 (+.f64 y y) (/.f64 1/2 (sin.f64 y)))
(/.f64 y (sin.f64 y))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 (sin.f64 y)) 1/2))
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 (+.f64 y y) (sin.f64 y)) 1/2)
(/.f64 y (sin.f64 y))
(*.f64 2 (/.f64 y (*.f64 (sin.f64 y) 2)))
(/.f64 y (sin.f64 y))
(*.f64 2 (/.f64 (/.f64 y (sin.f64 y)) 2))
(/.f64 y (sin.f64 y))
(*.f64 2 (*.f64 (/.f64 1/2 (sin.f64 y)) y))
(/.f64 y (sin.f64 y))
(*.f64 (*.f64 (/.f64 y (sin.f64 y)) 4) 1/4)
(/.f64 y (sin.f64 y))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (sin.f64 y) 4)))
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 1 (sin.f64 y)) y)
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 (neg.f64 y) (sin.f64 y)) -1)
(/.f64 y (sin.f64 y))
(*.f64 (neg.f64 y) (/.f64 -1 (sin.f64 y)))
(/.f64 y (sin.f64 y))
(*.f64 -1 (/.f64 (neg.f64 y) (sin.f64 y)))
(/.f64 y (sin.f64 y))
(*.f64 (*.f64 2 (/.f64 1 (sin.f64 y))) (/.f64 y 2))
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 1/2 (sin.f64 y)) (+.f64 y y))
(/.f64 y (sin.f64 y))
(*.f64 1/2 (/.f64 (+.f64 y y) (sin.f64 y)))
(/.f64 y (sin.f64 y))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) 1/2) (+.f64 y y))
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 y (*.f64 (sin.f64 y) 2)) 2)
(/.f64 y (sin.f64 y))
(*.f64 1/4 (*.f64 (/.f64 y (sin.f64 y)) 4))
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 y 2) (*.f64 2 (/.f64 1 (sin.f64 y))))
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 (/.f64 y (sin.f64 y)) 2) 2)
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) 4)) (*.f64 y 4))
(/.f64 y (sin.f64 y))
(*.f64 (/.f64 -1 (sin.f64 y)) (neg.f64 y))
(/.f64 y (sin.f64 y))
(pow.f64 (/.f64 y (sin.f64 y)) 1)
(/.f64 y (sin.f64 y))
(neg.f64 (/.f64 (neg.f64 y) (sin.f64 y)))
(/.f64 y (sin.f64 y))
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))) (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (/.f64 (/.f64 (sin.f64 y) y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 (+.f64 y y)) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 (/.f64 y x) 2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (*.f64 (/.f64 x (+.f64 y y)) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (*.f64 (/.f64 (/.f64 (sin.f64 y) y) 2) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))) 1/2)
(*.f64 x (*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) 1/2))
(*.f64 (sin.f64 y) (*.f64 (*.f64 x (/.f64 2 y)) 1/2))
(*.f64 (sin.f64 y) (*.f64 1/2 (*.f64 x (/.f64 2 y))))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)))
(*.f64 (*.f64 4 x) (/.f64 1 (*.f64 4 (/.f64 y (sin.f64 y)))))
(*.f64 4 (*.f64 x (/.f64 1/4 (/.f64 y (sin.f64 y)))))
(*.f64 4 (*.f64 x (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 4 (/.f64 x (*.f64 4 (/.f64 y (sin.f64 y)))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 (/.f64 y x) 4)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x y) (/.f64 1 (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 x (/.f64 (neg.f64 y) (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 y) (/.f64 x (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 1/2 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))))
(*.f64 x (*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) 1/2))
(*.f64 (sin.f64 y) (*.f64 (*.f64 x (/.f64 2 y)) 1/2))
(*.f64 (sin.f64 y) (*.f64 1/2 (*.f64 x (/.f64 2 y))))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) 2) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 (sin.f64 y) y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (/.f64 (neg.f64 y) (sin.f64 y))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (/.f64 1 (sin.f64 y))) (/.f64 1 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) (/.f64 1 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (/.f64 (+.f64 y y) (sin.f64 y))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (*.f64 (/.f64 y x) 2)) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)) (*.f64 x 4))
(*.f64 (*.f64 4 x) (/.f64 1 (*.f64 4 (/.f64 y (sin.f64 y)))))
(*.f64 4 (*.f64 x (/.f64 1/4 (/.f64 y (sin.f64 y)))))
(*.f64 4 (*.f64 x (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 4 (/.f64 x (*.f64 4 (/.f64 y (sin.f64 y)))))
(*.f64 (/.f64 1 (*.f64 (/.f64 y x) 4)) (*.f64 (sin.f64 y) 4))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 -1 (/.f64 y (sin.f64 y))) (neg.f64 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 x (/.f64 (neg.f64 y) (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.9b
(*.f64 (sin.f64 y) (/.f64 x y))
Compiler

Compiled 15 to 5 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite84.0ms (1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
15817
215617
337717
499817
5460417
Stop Event
node limit
Counts
1 → 141
Calls
Call 1
Inputs
(*.f64 (sin.f64 y) (/.f64 x y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 (/.f64 y (sin.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 -1 (/.f64 y (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) (*.f64 (/.f64 1 (sin.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) (*.f64 1/2 (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 y x) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 (/.f64 y x) (sin.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (*.f64 y (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (+.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (*.f64 -2 (/.f64 y (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 (/.f64 y x) (sin.f64 y)) (/.f64 (/.f64 y x) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 2) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 2 y)) (/.f64 2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 2 y)) (+.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 2 y)) (*.f64 2 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 2 y)) (*.f64 (/.f64 2 (sin.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (+.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (/.f64 (*.f64 y 4) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 4 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 (*.f64 y 4) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 2 (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 (+.f64 y y) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 -4 (/.f64 y (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (/.f64 4 (/.f64 (sin.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (*.f64 (/.f64 1 x) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 y (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (*.f64 (/.f64 y (neg.f64 (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 (neg.f64 (+.f64 y y)) (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 -1 (/.f64 (sin.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y x) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 y (neg.f64 x)) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 (/.f64 y x)) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 x)) (*.f64 (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 x)) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (/.f64 y x) 4) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 (/.f64 y x) 4) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 y (/.f64 2 x)) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (*.f64 (/.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) (*.f64 (*.f64 (/.f64 y x) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 4) (+.f64 (/.f64 2 (sin.f64 y)) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 4) (/.f64 4 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 4) (*.f64 4 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 4) (*.f64 2 (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (/.f64 (*.f64 y 8) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (*.f64 8 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (*.f64 (*.f64 y 8) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (*.f64 4 (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 y x) (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 1/2 x) (/.f64 (sin.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 x) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (+.f64 (/.f64 y (neg.f64 (sin.f64 y))) (/.f64 y (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (/.f64 (neg.f64 (+.f64 y y)) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (/.f64 (*.f64 y -2) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 (*.f64 y -2) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 (neg.f64 (+.f64 y y)) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 (neg.f64 y) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 2 (/.f64 y (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (/.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (+.f64 (*.f64 (/.f64 y x) 4) (*.f64 (/.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (*.f64 8 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 x y) 4)) (*.f64 8 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 8)) (*.f64 (*.f64 2 (*.f64 y 8)) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y x) 4) (*.f64 (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (neg.f64 y)) (*.f64 -1 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y x) (*.f64 x (/.f64 2 y))) (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 1/2 y)) (/.f64 1 (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 1/2 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 y (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x (/.f64 1/2 y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) (neg.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) (*.f64 (neg.f64 (/.f64 y x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 x y)) (/.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (*.f64 y -2)) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (neg.f64 (+.f64 y y))) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 x)) (*.f64 (neg.f64 (*.f64 y 4)) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 x)) (*.f64 4 (/.f64 y (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x -2)) (*.f64 y (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (sin.f64 y) y) (/.f64 (sin.f64 y) y)) (+.f64 (/.f64 1 x) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4))) (*.f64 2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) (+.f64 (neg.f64 (/.f64 y x)) (neg.f64 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (/.f64 y x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 8) (/.f64 y (sin.f64 y))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (/.f64 1 (sin.f64 y))) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) (/.f64 1 (sin.f64 y))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 1 (sin.f64 y))) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4) (/.f64 1 (sin.f64 y))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 y) (/.f64 1 (sin.f64 y))) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 x) (/.f64 1 (sin.f64 y))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 y x) (/.f64 1 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 1 (sin.f64 y))) (neg.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y (/.f64 2 x)) (/.f64 1 (sin.f64 y))) (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 1 (sin.f64 y))) (*.f64 (/.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 8) (/.f64 1 (sin.f64 y))) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -2) (/.f64 1 (sin.f64 y))) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -2) (/.f64 1 (sin.f64 y))) (neg.f64 (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 x y) 4)) (/.f64 1 (sin.f64 y))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 x 8)) (/.f64 1 (sin.f64 y))) (*.f64 2 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 x (neg.f64 y)) (/.f64 1 (sin.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 1 (sin.f64 y))) (*.f64 2 (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 1 (sin.f64 y))) (*.f64 2 (neg.f64 (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 1 (sin.f64 y))) (neg.f64 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 x -2)) (/.f64 1 (sin.f64 y))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 2 (sin.f64 y))) (*.f64 y (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) (/.f64 2 (sin.f64 y))) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 2 (sin.f64 y))) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4) (/.f64 2 (sin.f64 y))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y (/.f64 2 x)) (/.f64 2 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 2 (sin.f64 y))) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -2) (/.f64 2 (sin.f64 y))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 y x) 4) (/.f64 2 (sin.f64 y))) (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 y x) (*.f64 x (/.f64 2 y))) (/.f64 2 (sin.f64 y))) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (/.f64 y (neg.f64 (sin.f64 y)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) (/.f64 y (neg.f64 (sin.f64 y)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4) (/.f64 y (neg.f64 (sin.f64 y)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 y (neg.f64 (sin.f64 y)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 y) 2) y) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) 1/2) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) 2)) (-.f64 0 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (sin.f64 y) y)) (-.f64 0 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))))

simplify634.0ms (7.6%)

Algorithm
egg-herbie
Rules
1520×rational.json-simplify-35
1446×rational.json-simplify-2
780×rational.json-simplify-51
752×rational.json-simplify-61
696×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03553161
113743149
249653125
376823125
Stop Event
node limit
Counts
165 → 167
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(/.f64 (sin.f64 y) (/.f64 y x))
(/.f64 x (/.f64 y (sin.f64 y)))
(/.f64 x (*.f64 (/.f64 y (sin.f64 y)) 1))
(/.f64 x (*.f64 -1 (/.f64 y (neg.f64 (sin.f64 y)))))
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
(/.f64 (/.f64 x y) (*.f64 (/.f64 1 (sin.f64 y)) 1))
(/.f64 (/.f64 x y) (*.f64 1/2 (/.f64 2 (sin.f64 y))))
(/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(/.f64 1 (/.f64 (/.f64 y x) (sin.f64 y)))
(/.f64 1 (*.f64 (/.f64 (/.f64 y x) (sin.f64 y)) 1))
(/.f64 (+.f64 x x) (*.f64 y (/.f64 2 (sin.f64 y))))
(/.f64 (+.f64 x x) (+.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))
(/.f64 (+.f64 x x) (*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) 1))
(/.f64 (+.f64 x x) (*.f64 -2 (/.f64 y (neg.f64 (sin.f64 y)))))
(/.f64 2 (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))))
(/.f64 2 (+.f64 (/.f64 (/.f64 y x) (sin.f64 y)) (/.f64 (/.f64 y x) (sin.f64 y))))
(/.f64 2 (*.f64 (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))) 1))
(/.f64 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))) 2)
(/.f64 (*.f64 (sin.f64 y) 2) (*.f64 y (/.f64 2 x)))
(/.f64 (*.f64 x (/.f64 2 y)) (/.f64 2 (sin.f64 y)))
(/.f64 (*.f64 x (/.f64 2 y)) (+.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 x (/.f64 2 y)) (*.f64 2 (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 x (/.f64 2 y)) (*.f64 (/.f64 2 (sin.f64 y)) 1))
(/.f64 (*.f64 x 4) (+.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (*.f64 x 4) (/.f64 (*.f64 y 4) (sin.f64 y)))
(/.f64 (*.f64 x 4) (*.f64 4 (/.f64 y (sin.f64 y))))
(/.f64 (*.f64 x 4) (*.f64 (*.f64 y 4) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 x 4) (*.f64 2 (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (*.f64 x 4) (*.f64 (+.f64 y y) (/.f64 2 (sin.f64 y))))
(/.f64 (*.f64 x 4) (*.f64 -4 (/.f64 y (neg.f64 (sin.f64 y)))))
(/.f64 (*.f64 x 4) (/.f64 4 (/.f64 (sin.f64 y) y)))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (sin.f64 y)))
(/.f64 (/.f64 1 y) (*.f64 (/.f64 1 x) (/.f64 1 (sin.f64 y))))
(/.f64 (neg.f64 x) (/.f64 y (neg.f64 (sin.f64 y))))
(/.f64 (neg.f64 x) (*.f64 (/.f64 y (neg.f64 (sin.f64 y))) 1))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 (+.f64 y y)) (*.f64 (sin.f64 y) 2)))
(/.f64 (neg.f64 x) (/.f64 -1 (/.f64 (sin.f64 y) y)))
(/.f64 (/.f64 y x) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 1 (sin.f64 y))))
(/.f64 -1 (/.f64 (/.f64 y (neg.f64 x)) (sin.f64 y)))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 y x)) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 (sin.f64 y))))
(/.f64 4 (+.f64 (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y)))))
(/.f64 4 (/.f64 (*.f64 (/.f64 y x) 4) (sin.f64 y)))
(/.f64 4 (*.f64 (*.f64 (/.f64 y x) 4) (/.f64 1 (sin.f64 y))))
(/.f64 4 (*.f64 (*.f64 y (/.f64 2 x)) (/.f64 2 (sin.f64 y))))
(/.f64 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4)) 4)
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 (/.f64 y x) 4))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 (*.f64 (/.f64 y x) 4) 1))
(/.f64 (*.f64 (/.f64 x y) 4) (+.f64 (/.f64 2 (sin.f64 y)) (/.f64 2 (sin.f64 y))))
(/.f64 (*.f64 (/.f64 x y) 4) (/.f64 4 (sin.f64 y)))
(/.f64 (*.f64 (/.f64 x y) 4) (*.f64 4 (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 (/.f64 x y) 4) (*.f64 2 (/.f64 2 (sin.f64 y))))
(/.f64 (*.f64 x 8) (/.f64 (*.f64 y 8) (sin.f64 y)))
(/.f64 (*.f64 x 8) (*.f64 8 (/.f64 y (sin.f64 y))))
(/.f64 (*.f64 x 8) (*.f64 (*.f64 y 8) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 x 8) (*.f64 4 (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
(/.f64 1/2 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))
(/.f64 1/2 (/.f64 (/.f64 y x) (*.f64 (sin.f64 y) 2)))
(/.f64 1/2 (/.f64 (/.f64 1/2 x) (/.f64 (sin.f64 y) y)))
(/.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 x) (sin.f64 y)))
(/.f64 (*.f64 x -2) (+.f64 (/.f64 y (neg.f64 (sin.f64 y))) (/.f64 y (neg.f64 (sin.f64 y)))))
(/.f64 (*.f64 x -2) (/.f64 (neg.f64 (+.f64 y y)) (sin.f64 y)))
(/.f64 (*.f64 x -2) (/.f64 (*.f64 y -2) (sin.f64 y)))
(/.f64 (*.f64 x -2) (*.f64 (*.f64 y -2) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 (+.f64 y y)) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 y) (/.f64 2 (sin.f64 y))))
(/.f64 (*.f64 x -2) (*.f64 2 (/.f64 y (neg.f64 (sin.f64 y)))))
(/.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (/.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 2)))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4))) 8)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (+.f64 (*.f64 (/.f64 y x) 4) (*.f64 (/.f64 y x) 4)))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (*.f64 8 (/.f64 y x)))
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 4)) (*.f64 8 (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 2 (*.f64 x 8)) (*.f64 (*.f64 2 (*.f64 y 8)) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (/.f64 1/2 x))
(/.f64 (*.f64 (/.f64 y x) 4) (*.f64 (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 2 (sin.f64 y))))
(/.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 (sin.f64 y)))
(/.f64 (/.f64 x (neg.f64 y)) (*.f64 -1 (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 (/.f64 y x) (*.f64 x (/.f64 2 y))) (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))))
(/.f64 (*.f64 x (/.f64 1/2 y)) (/.f64 1 (*.f64 (sin.f64 y) 2)))
(/.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 1/2 (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 y (/.f64 1/2 x)))
(/.f64 (*.f64 (sin.f64 y) (*.f64 x (/.f64 1/2 y))) 1/2)
(/.f64 (neg.f64 (sin.f64 y)) (neg.f64 (/.f64 y x)))
(/.f64 (neg.f64 (sin.f64 y)) (*.f64 (neg.f64 (/.f64 y x)) 1))
(/.f64 (neg.f64 (/.f64 x y)) (/.f64 -1 (sin.f64 y)))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (*.f64 y -2)) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (neg.f64 (+.f64 y y))) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (neg.f64 (*.f64 y 4)) (/.f64 1 (sin.f64 y))))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 4 (/.f64 y (neg.f64 (sin.f64 y)))))
(/.f64 (neg.f64 (*.f64 x -2)) (*.f64 y (/.f64 2 (sin.f64 y))))
(/.f64 (+.f64 (/.f64 (sin.f64 y) y) (/.f64 (sin.f64 y) y)) (+.f64 (/.f64 1 x) (/.f64 1 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4))) (*.f64 2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4)))) 16)
(/.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) (+.f64 (neg.f64 (/.f64 y x)) (neg.f64 (/.f64 y x))))
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (/.f64 y x)) 8)
(/.f64 (/.f64 (*.f64 x 8) (/.f64 y (sin.f64 y))) 8)
(/.f64 (/.f64 x (/.f64 1 (sin.f64 y))) y)
(/.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 y x))
(/.f64 (/.f64 (+.f64 x x) (/.f64 1 (sin.f64 y))) (+.f64 y y))
(/.f64 (/.f64 2 (/.f64 1 (sin.f64 y))) (*.f64 y (/.f64 2 x)))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 1 (sin.f64 y))) (*.f64 y 4))
(/.f64 (/.f64 (/.f64 1 y) (/.f64 1 (sin.f64 y))) (/.f64 1 x))
(/.f64 (/.f64 (neg.f64 x) (/.f64 1 (sin.f64 y))) (neg.f64 y))
(/.f64 (/.f64 (/.f64 y x) (/.f64 1 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 y x)))
(/.f64 (/.f64 -1 (/.f64 1 (sin.f64 y))) (neg.f64 (/.f64 y x)))
(/.f64 (/.f64 (*.f64 y (/.f64 2 x)) (/.f64 1 (sin.f64 y))) (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))))
(/.f64 (/.f64 4 (/.f64 1 (sin.f64 y))) (*.f64 (/.f64 y x) 4))
(/.f64 (/.f64 (*.f64 x 8) (/.f64 1 (sin.f64 y))) (*.f64 y 8))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 1 (sin.f64 y))) (*.f64 y -2))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 1 (sin.f64 y))) (neg.f64 (+.f64 y y)))
(/.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 x y) 4)) (/.f64 1 (sin.f64 y))) 8)
(/.f64 (/.f64 (*.f64 2 (*.f64 x 8)) (/.f64 1 (sin.f64 y))) (*.f64 2 (*.f64 y 8)))
(/.f64 (/.f64 (/.f64 x (neg.f64 y)) (/.f64 1 (sin.f64 y))) -1)
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 1 (sin.f64 y))) (*.f64 2 (*.f64 y -2)))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 1 (sin.f64 y))) (*.f64 2 (neg.f64 (+.f64 y y))))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 1 (sin.f64 y))) (neg.f64 (*.f64 y 4)))
(/.f64 (/.f64 (neg.f64 (*.f64 x -2)) (/.f64 1 (sin.f64 y))) (+.f64 y y))
(/.f64 (/.f64 1 (/.f64 2 (sin.f64 y))) (*.f64 y (/.f64 1/2 x)))
(/.f64 (/.f64 (+.f64 x x) (/.f64 2 (sin.f64 y))) y)
(/.f64 (/.f64 2 (/.f64 2 (sin.f64 y))) (/.f64 y x))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 2 (sin.f64 y))) (+.f64 y y))
(/.f64 (/.f64 (*.f64 y (/.f64 2 x)) (/.f64 2 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 y x)))
(/.f64 (/.f64 4 (/.f64 2 (sin.f64 y))) (*.f64 y (/.f64 2 x)))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 2 (sin.f64 y))) (neg.f64 y))
(/.f64 (/.f64 (*.f64 (/.f64 y x) 4) (/.f64 2 (sin.f64 y))) (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))))
(/.f64 (/.f64 (*.f64 (/.f64 y x) (*.f64 x (/.f64 2 y))) (/.f64 2 (sin.f64 y))) (/.f64 y x))
(/.f64 (/.f64 x (/.f64 y (neg.f64 (sin.f64 y)))) -1)
(/.f64 (/.f64 (+.f64 x x) (/.f64 y (neg.f64 (sin.f64 y)))) -2)
(/.f64 (/.f64 (*.f64 x 4) (/.f64 y (neg.f64 (sin.f64 y)))) -4)
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 y (neg.f64 (sin.f64 y)))) 4)
(/.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) y)
(/.f64 (/.f64 (*.f64 (sin.f64 y) 2) y) (/.f64 2 x))
(/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 -1 x))
(/.f64 (/.f64 (sin.f64 y) 1/2) (*.f64 y (/.f64 2 x)))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 2)) (-.f64 0 (*.f64 y (/.f64 2 x))))
(/.f64 (neg.f64 (/.f64 (sin.f64 y) y)) (-.f64 0 (/.f64 1 x)))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
Outputs
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6)))
(+.f64 x (*.f64 x (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 4))) (+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6))))
(+.f64 x (+.f64 (*.f64 x (*.f64 (pow.f64 y 4) 1/120)) (*.f64 x (*.f64 -1/6 (pow.f64 y 2)))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 4))) (+.f64 x (*.f64 (pow.f64 y 6) (*.f64 x -1/5040)))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (+.f64 x (+.f64 (*.f64 x (*.f64 (pow.f64 y 4) 1/120)) (*.f64 x (*.f64 (pow.f64 y 6) -1/5040)))))
(+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (+.f64 x (*.f64 (pow.f64 y 6) (*.f64 x -1/5040)))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (*.f64 (pow.f64 y 6) (*.f64 x -1/5040)))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (sin.f64 y) (/.f64 y x))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 x (/.f64 y (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 x (*.f64 (/.f64 y (sin.f64 y)) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 x (*.f64 -1 (/.f64 y (neg.f64 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 x y) (*.f64 (/.f64 1 (sin.f64 y)) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 x y) (*.f64 1/2 (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 1 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 1 (*.f64 (/.f64 (/.f64 y x) (sin.f64 y)) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (+.f64 x x) (*.f64 y (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (+.f64 x x) (+.f64 (/.f64 y (sin.f64 y)) (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (+.f64 x x) (*.f64 (*.f64 y (/.f64 2 (sin.f64 y))) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (+.f64 x x) (*.f64 -2 (/.f64 y (neg.f64 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 2 (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 2 (+.f64 (/.f64 (/.f64 y x) (sin.f64 y)) (/.f64 (/.f64 y x) (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 2 (*.f64 (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) 2) (*.f64 y (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x (/.f64 2 y)) (/.f64 2 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x (/.f64 2 y)) (+.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x (/.f64 2 y)) (*.f64 2 (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x (/.f64 2 y)) (*.f64 (/.f64 2 (sin.f64 y)) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 4) (+.f64 (*.f64 y (/.f64 2 (sin.f64 y))) (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 4) (/.f64 (*.f64 y 4) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 4) (*.f64 4 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 4) (*.f64 (*.f64 y 4) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 4) (*.f64 2 (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 4) (*.f64 (+.f64 y y) (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 4) (*.f64 -4 (/.f64 y (neg.f64 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 4) (/.f64 4 (/.f64 (sin.f64 y) y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 1 y) (*.f64 (/.f64 1 x) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 x) (/.f64 y (neg.f64 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 x) (*.f64 (/.f64 y (neg.f64 (sin.f64 y))) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 (+.f64 y y)) (*.f64 (sin.f64 y) 2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 x) (/.f64 -1 (/.f64 (sin.f64 y) y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 y x) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 -1 (/.f64 (/.f64 y (neg.f64 x)) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 y x)) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 1 (sin.f64 y))))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (/.f64 1 (sin.f64 y)) (*.f64 (/.f64 y x) (*.f64 (/.f64 y x) 2)))))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (/.f64 1 (sin.f64 y)) (*.f64 (/.f64 y x) (*.f64 2 (/.f64 y x))))))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (*.f64 2 (/.f64 y x)) (/.f64 y (*.f64 x (sin.f64 y))))))
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 (sin.f64 y))))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (*.f64 (/.f64 y x) (/.f64 y x)))))
(*.f64 (/.f64 2 x) (/.f64 (/.f64 y (/.f64 2 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 y x))))
(/.f64 4 (+.f64 (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 4 (/.f64 (*.f64 (/.f64 y x) 4) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 4 (*.f64 (*.f64 (/.f64 y x) 4) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 4 (*.f64 (*.f64 y (/.f64 2 x)) (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4)) 4)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 (/.f64 y x) 4))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) 4) (*.f64 (*.f64 (/.f64 y x) 4) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (/.f64 x y) 4) (+.f64 (/.f64 2 (sin.f64 y)) (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (/.f64 x y) 4) (/.f64 4 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (/.f64 x y) 4) (*.f64 4 (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (/.f64 x y) 4) (*.f64 2 (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 8) (/.f64 (*.f64 y 8) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 8) (*.f64 8 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 8) (*.f64 (*.f64 y 8) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x 8) (*.f64 4 (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 1/2 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 1/2 (/.f64 (/.f64 y x) (*.f64 (sin.f64 y) 2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 1/2 (/.f64 (/.f64 1/2 x) (/.f64 (sin.f64 y) y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 x) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x -2) (+.f64 (/.f64 y (neg.f64 (sin.f64 y))) (/.f64 y (neg.f64 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x -2) (/.f64 (neg.f64 (+.f64 y y)) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x -2) (/.f64 (*.f64 y -2) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x -2) (*.f64 (*.f64 y -2) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 (+.f64 y y)) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 y) (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x -2) (*.f64 2 (/.f64 y (neg.f64 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (/.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 2)))
(*.f64 (/.f64 x y) (/.f64 (/.f64 x y) (/.f64 (*.f64 x (/.f64 2 y)) (*.f64 2 (sin.f64 y)))))
(*.f64 (/.f64 x y) (/.f64 (/.f64 x y) (*.f64 x (/.f64 (/.f64 2 y) (*.f64 2 (sin.f64 y))))))
(*.f64 (/.f64 x y) (/.f64 (/.f64 x y) (/.f64 (/.f64 x y) (sin.f64 y))))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4))) 8)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (+.f64 (*.f64 (/.f64 y x) 4) (*.f64 (/.f64 y x) 4)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (*.f64 8 (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 4)) (*.f64 8 (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 2 (*.f64 x 8)) (*.f64 (*.f64 2 (*.f64 y 8)) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (/.f64 1/2 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (/.f64 y x) 4) (*.f64 (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 2 (sin.f64 y))))
(*.f64 4 (/.f64 (/.f64 y x) (*.f64 (/.f64 2 (sin.f64 y)) (*.f64 (/.f64 y x) (*.f64 (/.f64 y x) 2)))))
(/.f64 (*.f64 (/.f64 y x) (/.f64 (sin.f64 y) 1/2)) (*.f64 (/.f64 y x) (*.f64 2 (/.f64 y x))))
(/.f64 (sin.f64 y) (*.f64 (*.f64 (/.f64 y x) (*.f64 2 (/.f64 y x))) (/.f64 1/2 (/.f64 y x))))
(/.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 x (neg.f64 y)) (*.f64 -1 (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (/.f64 y x) (*.f64 x (/.f64 2 y))) (*.f64 (/.f64 y x) (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x (/.f64 1/2 y)) (/.f64 1 (*.f64 (sin.f64 y) 2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 1/2 (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 y (/.f64 1/2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) (*.f64 x (/.f64 1/2 y))) 1/2)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 (sin.f64 y)) (neg.f64 (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 (sin.f64 y)) (*.f64 (neg.f64 (/.f64 y x)) 1))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 (/.f64 x y)) (/.f64 -1 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (*.f64 y -2)) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (neg.f64 (+.f64 y y))) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (neg.f64 (*.f64 y 4)) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 4 (/.f64 y (neg.f64 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 (*.f64 x -2)) (*.f64 y (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (+.f64 (/.f64 (sin.f64 y) y) (/.f64 (sin.f64 y) y)) (+.f64 (/.f64 1 x) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4))) (*.f64 2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 4)))) 16)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) (+.f64 (neg.f64 (/.f64 y x)) (neg.f64 (/.f64 y x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (/.f64 y x)) 8)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 x 8) (/.f64 y (sin.f64 y))) 8)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 x (/.f64 1 (sin.f64 y))) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 y x))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (+.f64 x x) (/.f64 1 (sin.f64 y))) (+.f64 y y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 2 (/.f64 1 (sin.f64 y))) (*.f64 y (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 1 (sin.f64 y))) (*.f64 y 4))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (/.f64 1 y) (/.f64 1 (sin.f64 y))) (/.f64 1 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (neg.f64 x) (/.f64 1 (sin.f64 y))) (neg.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (/.f64 y x) (/.f64 1 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 -1 (/.f64 1 (sin.f64 y))) (neg.f64 (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 y (/.f64 2 x)) (/.f64 1 (sin.f64 y))) (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (/.f64 1 (sin.f64 y)) (*.f64 (/.f64 y x) (*.f64 (/.f64 y x) 2)))))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (/.f64 1 (sin.f64 y)) (*.f64 (/.f64 y x) (*.f64 2 (/.f64 y x))))))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (*.f64 2 (/.f64 y x)) (/.f64 y (*.f64 x (sin.f64 y))))))
(/.f64 (/.f64 4 (/.f64 1 (sin.f64 y))) (*.f64 (/.f64 y x) 4))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 x 8) (/.f64 1 (sin.f64 y))) (*.f64 y 8))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 1 (sin.f64 y))) (*.f64 y -2))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 1 (sin.f64 y))) (neg.f64 (+.f64 y y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 x y) 4)) (/.f64 1 (sin.f64 y))) 8)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 2 (*.f64 x 8)) (/.f64 1 (sin.f64 y))) (*.f64 2 (*.f64 y 8)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (/.f64 x (neg.f64 y)) (/.f64 1 (sin.f64 y))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 1 (sin.f64 y))) (*.f64 2 (*.f64 y -2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 1 (sin.f64 y))) (*.f64 2 (neg.f64 (+.f64 y y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 1 (sin.f64 y))) (neg.f64 (*.f64 y 4)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (neg.f64 (*.f64 x -2)) (/.f64 1 (sin.f64 y))) (+.f64 y y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 1 (/.f64 2 (sin.f64 y))) (*.f64 y (/.f64 1/2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (+.f64 x x) (/.f64 2 (sin.f64 y))) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 2 (/.f64 2 (sin.f64 y))) (/.f64 y x))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 2 (sin.f64 y))) (+.f64 y y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 y (/.f64 2 x)) (/.f64 2 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 y x)))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (/.f64 2 (sin.f64 y)) (*.f64 (/.f64 y x) (/.f64 y x)))))
(*.f64 (/.f64 2 x) (/.f64 (/.f64 y (/.f64 2 (sin.f64 y))) (*.f64 (/.f64 y x) (/.f64 y x))))
(/.f64 (/.f64 4 (/.f64 2 (sin.f64 y))) (*.f64 y (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 2 (sin.f64 y))) (neg.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 (/.f64 y x) 4) (/.f64 2 (sin.f64 y))) (*.f64 2 (*.f64 (/.f64 y x) (/.f64 y x))))
(*.f64 4 (/.f64 (/.f64 y x) (*.f64 (/.f64 2 (sin.f64 y)) (*.f64 (/.f64 y x) (*.f64 (/.f64 y x) 2)))))
(/.f64 (*.f64 (/.f64 y x) (/.f64 (sin.f64 y) 1/2)) (*.f64 (/.f64 y x) (*.f64 2 (/.f64 y x))))
(/.f64 (sin.f64 y) (*.f64 (*.f64 (/.f64 y x) (*.f64 2 (/.f64 y x))) (/.f64 1/2 (/.f64 y x))))
(/.f64 (/.f64 (*.f64 (/.f64 y x) (*.f64 x (/.f64 2 y))) (/.f64 2 (sin.f64 y))) (/.f64 y x))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 x (/.f64 y (neg.f64 (sin.f64 y)))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (+.f64 x x) (/.f64 y (neg.f64 (sin.f64 y)))) -2)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 y (neg.f64 (sin.f64 y)))) -4)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) (/.f64 y (neg.f64 (sin.f64 y)))) 4)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) 2) y) (/.f64 2 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 -1 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (/.f64 (sin.f64 y) 1/2) (*.f64 y (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 2)) (-.f64 0 (*.f64 y (/.f64 2 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 (/.f64 (sin.f64 y) y)) (-.f64 0 (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 y) x)
7.4b
(/.f64 (*.f64 (sin.f64 y) x) y)
Compiler

Compiled 16 to 5 computations (68.8% saved)

series3.0ms (0%)

Counts
2 → 8
Calls

12 calls:

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

rewrite86.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1882×rational.json-simplify-35
1370×rational.json-1
1370×rational.json-2
1370×rational.json-4
1370×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0828
16028
217628
348428
4152128
5410028
Stop Event
node limit
Counts
2 → 90
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 (sin.f64 y) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)) (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (*.f64 (/.f64 2 (/.f64 y x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 2 y) (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) x) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) x) (*.f64 (*.f64 2 (/.f64 1 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) x) (*.f64 (/.f64 2 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (/.f64 1 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (*.f64 (/.f64 1 y) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x (/.f64 1/2 y)) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x 1/2) (/.f64 (sin.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (*.f64 (sin.f64 y) x) 2) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x y) (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (sin.f64 y) y) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (*.f64 (sin.f64 y) (/.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 y) (*.f64 x (/.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sin.f64 y) x) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 (/.f64 y x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (/.f64 2 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (*.f64 (/.f64 2 (*.f64 y 8)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (*.f64 1/4 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (*.f64 1/2 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 x (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 1/2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 1/2 (/.f64 (sin.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (*.f64 (/.f64 -1 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (*.f64 (/.f64 -1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (*.f64 -1 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 y x)) (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 2 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) (/.f64 2 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 (sin.f64 y) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 y 8)) (*.f64 (sin.f64 y) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 y) (*.f64 (sin.f64 y) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))))))
((#(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 -1 (-.f64 1 (*.f64 (sin.f64 y) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 y) x) 2) (/.f64 (*.f64 (sin.f64 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 (sin.f64 y) (neg.f64 x))) -1)))) (#(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) (neg.f64 x)))))) (#(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) (neg.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 y) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (sin.f64 y) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x (*.f64 (sin.f64 y) -2))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 y) (neg.f64 x)))))))

simplify179.0ms (2.1%)

Algorithm
egg-herbie
Rules
1264×rational.json-simplify-46
1146×rational.json-simplify-43
840×rational.json-simplify-2
812×rational.json-simplify-41
798×rational.json-simplify-35
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02201742
15181742
211201724
327251724
455001724
570391724
Stop Event
node limit
Counts
98 → 123
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) 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 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y))))
(+.f64 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)) (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(-.f64 0 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (sin.f64 y) (*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 x 1/2)))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 (/.f64 y x)) 1/2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 2 y))))
(*.f64 x (*.f64 (/.f64 2 y) (*.f64 (sin.f64 y) 1/2)))
(*.f64 x (*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) 1/2))
(*.f64 (*.f64 (sin.f64 y) x) (/.f64 1 y))
(*.f64 (*.f64 (sin.f64 y) x) (*.f64 (*.f64 2 (/.f64 1 y)) 1/2))
(*.f64 (*.f64 (sin.f64 y) x) (*.f64 (/.f64 2 y) 1/2))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (/.f64 1/2 y))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (/.f64 1 y) 1/2))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (*.f64 (/.f64 1 y) 1/2) 1))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 2 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)))
(*.f64 2 (*.f64 (*.f64 x (/.f64 1/2 y)) (sin.f64 y)))
(*.f64 2 (*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) x))
(*.f64 2 (*.f64 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)) 1))
(*.f64 2 (*.f64 (*.f64 x 1/2) (/.f64 (sin.f64 y) y)))
(*.f64 2 (*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 x y)))
(*.f64 2 (*.f64 (/.f64 (*.f64 (sin.f64 y) x) 2) (/.f64 1 y)))
(*.f64 2 (*.f64 (/.f64 x y) (*.f64 (sin.f64 y) 1/2)))
(*.f64 2 (*.f64 (/.f64 (sin.f64 y) y) (*.f64 x 1/2)))
(*.f64 2 (*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1/2))
(*.f64 2 (*.f64 x (*.f64 (sin.f64 y) (/.f64 1/2 y))))
(*.f64 2 (*.f64 (sin.f64 y) (*.f64 x (/.f64 1/2 y))))
(*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) (/.f64 1/2 y)))
(*.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) x)))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 (/.f64 y x))) 1/2)
(*.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (/.f64 2 (*.f64 y 8)))
(*.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (*.f64 (/.f64 2 (*.f64 y 8)) 1))
(*.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (*.f64 1/4 (/.f64 1 y)))
(*.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (*.f64 1/2 (/.f64 1/2 y)))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 x (/.f64 1/2 y)))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 1/2 (/.f64 x y)))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))
(*.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(*.f64 (+.f64 x x) (*.f64 1/2 (/.f64 (sin.f64 y) y)))
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))
(*.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (/.f64 -1 y))
(*.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (*.f64 (/.f64 -1 y) 1))
(*.f64 (neg.f64 (sin.f64 y)) (*.f64 (/.f64 -1 y) x))
(*.f64 (neg.f64 (sin.f64 y)) (*.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(*.f64 -1 (*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) x))
(*.f64 -1 (*.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)) 1))
(*.f64 (/.f64 2 (/.f64 y x)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 x 1/2))
(*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 2 (/.f64 y x)))
(*.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 2 (/.f64 y x))))
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))
(*.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)) -1)
(*.f64 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)) 2)
(*.f64 (/.f64 2 (*.f64 y 8)) (*.f64 (sin.f64 y) (*.f64 x 4)))
(*.f64 (/.f64 -1 y) (*.f64 (sin.f64 y) (neg.f64 x)))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(neg.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(+.f64 (*.f64 (sin.f64 y) x) 0)
(+.f64 0 (*.f64 (sin.f64 y) x))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 y) (neg.f64 x))))
(+.f64 (/.f64 (*.f64 (sin.f64 y) x) 2) (/.f64 (*.f64 (sin.f64 y) x) 2))
(+.f64 (-.f64 1 (*.f64 (sin.f64 y) (neg.f64 x))) -1)
(-.f64 (*.f64 (sin.f64 y) x) 0)
(-.f64 0 (*.f64 (sin.f64 y) (neg.f64 x)))
(/.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) (neg.f64 x)) -1)
(/.f64 (*.f64 (*.f64 (sin.f64 y) x) 8) 8)
(/.f64 (*.f64 x (*.f64 (sin.f64 y) -2)) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 x (*.f64 (sin.f64 y) -2))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 8))) 32)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(neg.f64 (*.f64 (sin.f64 y) (neg.f64 x)))
Outputs
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 -1/6 (*.f64 x (pow.f64 y 2))))
(+.f64 x (*.f64 x (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (+.f64 x (*.f64 1/120 (*.f64 x (pow.f64 y 4)))))
(+.f64 x (+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (*.f64 x (*.f64 (pow.f64 y 4) 1/120))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (*.f64 x (*.f64 1/120 (pow.f64 y 4)))))
(+.f64 x (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (*.f64 1/120 (*.f64 x (pow.f64 y 4)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 4))) (+.f64 x (*.f64 -1/5040 (*.f64 x (pow.f64 y 6))))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (+.f64 x (+.f64 (*.f64 x (*.f64 (pow.f64 y 6) -1/5040)) (*.f64 x (*.f64 (pow.f64 y 4) 1/120)))))
(+.f64 (*.f64 x (*.f64 1/120 (pow.f64 y 4))) (+.f64 x (+.f64 (*.f64 (pow.f64 y 6) (*.f64 x -1/5040)) (*.f64 (pow.f64 y 2) (*.f64 x -1/6)))))
(+.f64 x (+.f64 (*.f64 -1/5040 (*.f64 x (pow.f64 y 6))) (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (*.f64 1/120 (*.f64 x (pow.f64 y 4))))))
(+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (+.f64 x (+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 4))) (*.f64 -1/5040 (*.f64 x (pow.f64 y 6))))))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 x y) (*.f64 -1/6 (*.f64 x (pow.f64 y 3))))
(+.f64 (*.f64 x y) (*.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 (*.f64 x y) (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))) (*.f64 1/120 (*.f64 x (pow.f64 y 5))))
(+.f64 (+.f64 (*.f64 x y) (*.f64 x (*.f64 -1/6 (pow.f64 y 3)))) (*.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 (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (*.f64 1/120 (*.f64 x (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 x y) (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 -1/5040 (*.f64 x (pow.f64 y 7))))))
(+.f64 (*.f64 x (*.f64 1/120 (pow.f64 y 5))) (+.f64 (*.f64 x y) (+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 x (*.f64 -1/5040 (pow.f64 y 7))))))
(+.f64 (+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 (pow.f64 y 7) (*.f64 x -1/5040))) (*.f64 x (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 5))) (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 x (+.f64 y (*.f64 -1/5040 (pow.f64 y 7))))))
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y))))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(+.f64 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)) (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(-.f64 0 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 x 1/2)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 (/.f64 y x)) 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 2 y))))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x (*.f64 (/.f64 2 y) (*.f64 (sin.f64 y) 1/2)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x (*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) x) (/.f64 1 y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) x) (*.f64 (*.f64 2 (/.f64 1 y)) 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) x) (*.f64 (/.f64 2 y) 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (/.f64 1/2 y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (/.f64 1 y) 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (*.f64 (/.f64 1 y) 1/2) 1))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (*.f64 x (/.f64 1/2 y)) (sin.f64 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) x))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)) 1))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (*.f64 x 1/2) (/.f64 (sin.f64 y) y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 x y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (/.f64 (*.f64 (sin.f64 y) x) 2) (/.f64 1 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (/.f64 x y) (*.f64 (sin.f64 y) 1/2)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (/.f64 (sin.f64 y) y) (*.f64 x 1/2)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 x (*.f64 (sin.f64 y) (/.f64 1/2 y))))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (sin.f64 y) (*.f64 x (/.f64 1/2 y))))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) (/.f64 1/2 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 (/.f64 y x))) 1/2)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (/.f64 2 (*.f64 y 8)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (*.f64 (/.f64 2 (*.f64 y 8)) 1))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (*.f64 1/4 (/.f64 1 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) (*.f64 1/2 (/.f64 1/2 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 x (/.f64 1/2 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 1/2 (/.f64 x y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (+.f64 x x) (*.f64 1/2 (/.f64 (sin.f64 y) y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (/.f64 -1 y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (*.f64 (/.f64 -1 y) 1))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (neg.f64 (sin.f64 y)) (*.f64 (/.f64 -1 y) x))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (neg.f64 (sin.f64 y)) (*.f64 -1 (/.f64 x y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 -1 (*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) x))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 -1 (*.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)) 1))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 2 (/.f64 y x)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 x 1/2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 2 (/.f64 y x)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 2 (/.f64 y x))))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 (sin.f64 y) 2))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)) -1)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (*.f64 (sin.f64 y) x) (+.f64 y y)) 2)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 2 (*.f64 y 8)) (*.f64 (sin.f64 y) (*.f64 x 4)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 -1 y) (*.f64 (sin.f64 y) (neg.f64 x)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(neg.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(+.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 -1 (-.f64 1 (*.f64 (sin.f64 y) (neg.f64 x))))
(*.f64 x (sin.f64 y))
(+.f64 (/.f64 (*.f64 (sin.f64 y) x) 2) (/.f64 (*.f64 (sin.f64 y) x) 2))
(*.f64 x (sin.f64 y))
(+.f64 (-.f64 1 (*.f64 (sin.f64 y) (neg.f64 x))) -1)
(*.f64 x (sin.f64 y))
(-.f64 (*.f64 (sin.f64 y) x) 0)
(*.f64 x (sin.f64 y))
(-.f64 0 (*.f64 (sin.f64 y) (neg.f64 x)))
(*.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) (neg.f64 x)) -1)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 (*.f64 (sin.f64 y) x) 8) 8)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 x (*.f64 (sin.f64 y) -2)) -2)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 8)) 16)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 x (*.f64 (sin.f64 y) -2))) -4)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 8))) 32)
(*.f64 x (sin.f64 y))
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 x (sin.f64 y))
(neg.f64 (*.f64 (sin.f64 y) (neg.f64 x)))
(*.f64 x (sin.f64 y))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sin.f64 y) y)
0.2b
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
Compiler

Compiled 22 to 10 computations (54.5% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite69.0ms (0.8%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01023
18817
228617
399017
4440417
Stop Event
node limit
Counts
1 → 86
Calls
Call 1
Inputs
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 x (/.f64 x (/.f64 (sin.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 2 (/.f64 4 (/.f64 (sin.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 x (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 y) (/.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) x) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (/.f64 1 (/.f64 x (/.f64 (sin.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 2 (*.f64 y (/.f64 2 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (/.f64 4 (/.f64 (sin.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 y (*.f64 2 (/.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 (+.f64 x x) y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (/.f64 1 (*.f64 2 (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 y) (*.f64 (/.f64 1 x) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 y) (*.f64 y (/.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 y) (neg.f64 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 (sin.f64 y) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (/.f64 1 (*.f64 y (/.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (/.f64 1 (neg.f64 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 1 (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (/.f64 1 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (/.f64 (sin.f64 y) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x x) y) (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) (/.f64 (+.f64 x x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 2) (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 (+.f64 x x) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) (/.f64 x 2)) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 1/2) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 (/.f64 1 x) (neg.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 -1 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (neg.f64 (/.f64 y x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 2 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (/.f64 2 x)) (*.f64 2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 x (/.f64 (sin.f64 y) y))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 x (/.f64 (sin.f64 y) y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (*.f64 y (/.f64 2 (sin.f64 y))))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 4 (/.f64 (sin.f64 y) y))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 4 (/.f64 (sin.f64 y) y))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (*.f64 2 (/.f64 2 x)))) (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (/.f64 2 x))) (*.f64 (/.f64 (sin.f64 y) y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 y))) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (/.f64 -1 x))) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (/.f64 y x))) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -1 x)) (/.f64 (sin.f64 y) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 y)) (*.f64 (sin.f64 y) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (sin.f64 y) y) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 x) (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 y) (*.f64 (/.f64 1 x) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 y) (neg.f64 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))))))

simplify103.0ms (1.2%)

Algorithm
egg-herbie
Rules
1176×rational.json-simplify-2
906×rational.json-simplify-53
870×rational.json-simplify-41
790×rational.json-simplify-44
790×rational.json-simplify-35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01902178
14362142
211022118
335122106
460992106
Stop Event
node limit
Counts
110 → 116
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x (/.f64 x (/.f64 x (/.f64 (sin.f64 y) y))))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 2 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 2 x)))
(*.f64 2 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2))
(*.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(*.f64 (+.f64 x x) (/.f64 2 (/.f64 4 (/.f64 (sin.f64 y) y))))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 x (/.f64 1/2 y)))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 y) (/.f64 x 2)))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 x 2))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 x 1/2))
(*.f64 (*.f64 (sin.f64 y) x) (/.f64 1 y))
(*.f64 (*.f64 x x) (/.f64 1 (/.f64 x (/.f64 (sin.f64 y) y))))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 2 (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 (*.f64 x 4) (/.f64 1 (/.f64 4 (/.f64 (sin.f64 y) y))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 y (*.f64 2 (/.f64 2 x)))))
(*.f64 (*.f64 (sin.f64 y) (/.f64 (+.f64 x x) y)) 1/2)
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (/.f64 1 (*.f64 2 (/.f64 2 x))))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (/.f64 1/2 y))
(*.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 -1 (/.f64 (sin.f64 y) (*.f64 (/.f64 1 x) (neg.f64 y))))
(*.f64 -1 (/.f64 (sin.f64 y) (*.f64 y (/.f64 -1 x))))
(*.f64 -1 (/.f64 (sin.f64 y) (neg.f64 (/.f64 y x))))
(*.f64 -1 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 -1 x)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(*.f64 (neg.f64 x) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 1 (*.f64 y (/.f64 -1 x))))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 1 (neg.f64 (/.f64 y x))))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (neg.f64 x))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 1 (/.f64 -1 x)))
(*.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (/.f64 1 (neg.f64 y)))
(*.f64 (*.f64 2 (/.f64 1 y)) (/.f64 (sin.f64 y) (/.f64 2 x)))
(*.f64 (/.f64 (+.f64 x x) y) (*.f64 (sin.f64 y) 1/2))
(*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 (+.f64 x x) y)))
(*.f64 (/.f64 x 2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 (+.f64 x x) y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))
(*.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (/.f64 1 y) (/.f64 x 2)) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (/.f64 x y) 1/2) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 (sin.f64 y) (*.f64 (/.f64 1 x) (neg.f64 y))) -1)
(*.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 -1 x))) -1)
(*.f64 (/.f64 (sin.f64 y) (neg.f64 (/.f64 y x))) -1)
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 -1 x)) -1)
(*.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)) -1)
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 2 x)) 2)
(*.f64 (/.f64 (sin.f64 y) (/.f64 2 x)) (*.f64 2 (/.f64 1 y)))
(*.f64 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))) 2)
(*.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) 2)
(*.f64 (/.f64 1 (/.f64 x (/.f64 (sin.f64 y) y))) (*.f64 x x))
(*.f64 (/.f64 x (/.f64 x (/.f64 (sin.f64 y) y))) x)
(*.f64 (/.f64 1 (*.f64 2 (*.f64 y (/.f64 2 (sin.f64 y))))) (*.f64 x 4))
(*.f64 (/.f64 1 (/.f64 4 (/.f64 (sin.f64 y) y))) (*.f64 x 4))
(*.f64 (/.f64 2 (/.f64 4 (/.f64 (sin.f64 y) y))) (+.f64 x x))
(*.f64 (/.f64 1 (*.f64 y (*.f64 2 (/.f64 2 x)))) (*.f64 (sin.f64 y) 4))
(*.f64 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2) 2)
(*.f64 (/.f64 1 (*.f64 2 (/.f64 2 x))) (*.f64 (/.f64 (sin.f64 y) y) 4))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 y))) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 1 (*.f64 y (/.f64 -1 x))) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 1 (neg.f64 (/.f64 y x))) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 1 (/.f64 -1 x)) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 (/.f64 1 (neg.f64 y)) (*.f64 (sin.f64 y) (neg.f64 x)))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(neg.f64 (*.f64 (/.f64 (sin.f64 y) y) (neg.f64 x)))
(neg.f64 (/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 1 x)))
(neg.f64 (/.f64 (neg.f64 x) (/.f64 y (sin.f64 y))))
(neg.f64 (/.f64 (sin.f64 y) (*.f64 (/.f64 1 x) (neg.f64 y))))
(neg.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 -1 x))))
(neg.f64 (/.f64 (sin.f64 y) (neg.f64 (/.f64 y x))))
(neg.f64 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 -1 x)))
(neg.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
Outputs
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6)))
(+.f64 x (*.f64 x (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 x (*.f64 -1/6 (*.f64 x (pow.f64 y 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6))))
(+.f64 x (+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (*.f64 x (*.f64 (pow.f64 y 4) 1/120))))
(+.f64 x (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (*.f64 x (*.f64 1/120 (pow.f64 y 4)))))
(+.f64 x (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 -1/6 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 x (*.f64 (pow.f64 y 6) (*.f64 x -1/5040)))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (+.f64 x (+.f64 (*.f64 x (*.f64 -1/5040 (pow.f64 y 6))) (*.f64 x (*.f64 (pow.f64 y 4) 1/120)))))
(+.f64 x (+.f64 (+.f64 (*.f64 x (*.f64 1/120 (pow.f64 y 4))) (*.f64 -1/5040 (*.f64 x (pow.f64 y 6)))) (*.f64 -1/6 (*.f64 x (pow.f64 y 2)))))
(+.f64 x (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (*.f64 x (+.f64 (*.f64 -1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4))))))
(+.f64 x (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 -1/5040 (pow.f64 y 6))))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 x (/.f64 x (/.f64 (sin.f64 y) y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (/.f64 2 (/.f64 4 (/.f64 (sin.f64 y) y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 x (/.f64 1/2 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 y) (/.f64 x 2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 x 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 x 1/2))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 x (*.f64 (/.f64 2 y) (*.f64 (sin.f64 y) 1/2)))
(*.f64 x (*.f64 (sin.f64 y) (*.f64 1/2 (/.f64 2 y))))
(*.f64 (*.f64 (sin.f64 y) x) (/.f64 1 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 x x) (/.f64 1 (/.f64 x (/.f64 (sin.f64 y) y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 2 (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 x (*.f64 4 (/.f64 1/2 (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (*.f64 x 4) (/.f64 1 (/.f64 4 (/.f64 (sin.f64 y) y))))
(*.f64 x (*.f64 4 (/.f64 1/2 (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 y (*.f64 2 (/.f64 2 x)))))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 1 (*.f64 2 (*.f64 y (/.f64 2 x))))))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 (/.f64 x 4) y)))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 x (*.f64 y 4))))
(*.f64 (*.f64 (sin.f64 y) (/.f64 (+.f64 x x) y)) 1/2)
(*.f64 (sin.f64 y) (*.f64 (/.f64 (+.f64 x x) y) 1/2))
(*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 (+.f64 x x) y)))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 4) (/.f64 1 (*.f64 2 (/.f64 2 x))))
(*.f64 (/.f64 (sin.f64 y) y) (*.f64 4 (/.f64 1/2 (/.f64 2 x))))
(*.f64 4 (*.f64 (/.f64 x 4) (/.f64 (sin.f64 y) y)))
(*.f64 4 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 x 4)))
(*.f64 4 (/.f64 (/.f64 x 4) (/.f64 y (sin.f64 y))))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (/.f64 1/2 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 (sin.f64 y) (*.f64 (/.f64 1 x) (neg.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 (sin.f64 y) (*.f64 y (/.f64 -1 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 (sin.f64 y) (neg.f64 (/.f64 y x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 -1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 x) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 1 (*.f64 y (/.f64 -1 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 1 (neg.f64 (/.f64 y x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (neg.f64 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 1 (/.f64 -1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (/.f64 1 (neg.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 2 (/.f64 1 y)) (/.f64 (sin.f64 y) (/.f64 2 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (+.f64 x x) y) (*.f64 (sin.f64 y) 1/2))
(*.f64 (sin.f64 y) (*.f64 (/.f64 (+.f64 x x) y) 1/2))
(*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 (+.f64 x x) y)))
(*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 (+.f64 x x) y)))
(*.f64 (sin.f64 y) (*.f64 (/.f64 (+.f64 x x) y) 1/2))
(*.f64 (/.f64 x 2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 1/2) (/.f64 (+.f64 x x) y))
(*.f64 (sin.f64 y) (*.f64 (/.f64 (+.f64 x x) y) 1/2))
(*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 (+.f64 x x) y)))
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 x (*.f64 (/.f64 2 y) (*.f64 (sin.f64 y) 1/2)))
(*.f64 x (*.f64 (sin.f64 y) (*.f64 1/2 (/.f64 2 y))))
(*.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (/.f64 1 y) (/.f64 x 2)) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (/.f64 x y) 1/2) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (*.f64 (/.f64 1 x) (neg.f64 y))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 -1 x))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 (/.f64 y x))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 -1 x)) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 2 x)) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (/.f64 2 x)) (*.f64 2 (/.f64 1 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (/.f64 x (/.f64 (sin.f64 y) y))) (*.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (/.f64 x (/.f64 (sin.f64 y) y))) x)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 y (/.f64 2 (sin.f64 y))))) (*.f64 x 4))
(*.f64 x (*.f64 4 (/.f64 1/2 (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (/.f64 1 (/.f64 4 (/.f64 (sin.f64 y) y))) (*.f64 x 4))
(*.f64 x (*.f64 4 (/.f64 1/2 (*.f64 y (/.f64 2 (sin.f64 y))))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (/.f64 2 (/.f64 4 (/.f64 (sin.f64 y) y))) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 y (*.f64 2 (/.f64 2 x)))) (*.f64 (sin.f64 y) 4))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 1 (*.f64 2 (*.f64 y (/.f64 2 x))))))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 (/.f64 x 4) y)))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 x (*.f64 y 4))))
(*.f64 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 2 (/.f64 2 x))) (*.f64 (/.f64 (sin.f64 y) y) 4))
(*.f64 (/.f64 (sin.f64 y) y) (*.f64 4 (/.f64 1/2 (/.f64 2 x))))
(*.f64 4 (*.f64 (/.f64 x 4) (/.f64 (sin.f64 y) y)))
(*.f64 4 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 x 4)))
(*.f64 4 (/.f64 (/.f64 x 4) (/.f64 y (sin.f64 y))))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 y))) (neg.f64 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 y (/.f64 -1 x))) (neg.f64 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (neg.f64 (/.f64 y x))) (neg.f64 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (/.f64 -1 x)) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (neg.f64 y)) (*.f64 (sin.f64 y) (neg.f64 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (*.f64 (/.f64 (sin.f64 y) y) (neg.f64 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (neg.f64 x) (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (sin.f64 y) (*.f64 (/.f64 1 x) (neg.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 -1 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (sin.f64 y) (neg.f64 (/.f64 y x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (/.f64 (sin.f64 y) y) (/.f64 -1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1/2 (sin.f64 y))
0.9b
(/.f64 1/2 (/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y)))
7.0b
(/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y))
Compiler

Compiled 32 to 15 computations (53.1% saved)

series4.0ms (0%)

Counts
3 → 52
Calls

15 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y))
1.0ms
y
@-inf
(/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y))
0.0ms
y
@0
(/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y))
0.0ms
y
@inf
(/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y))
0.0ms
y
@inf
(/.f64 1/2 (sin.f64 y))

rewrite75.0ms (0.9%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01163
19151
234351
3152851
4447951
Stop Event
node limit
Counts
3 → 92
Calls
Call 1
Inputs
(/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y))
(/.f64 1/2 (/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y)))
(/.f64 1/2 (sin.f64 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)) (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 1/2 (*.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 1/2 (*.f64 (sin.f64 y) (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 (*.f64 (sin.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 (sin.f64 y) x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) (*.f64 y (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) (*.f64 1/2 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 y (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 y x) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (sin.f64 y)) (*.f64 1/2 (*.f64 y (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y x) (/.f64 1/2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (sin.f64 y) x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 y x)) (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (sin.f64 y) (+.f64 x x))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/2 x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/4 x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 y (/.f64 1/2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y x) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1/2 (*.f64 (sin.f64 y) x))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/2 x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/4 x)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 y (/.f64 1/2 x))) (/.f64 2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 x y))) (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 1/2 (sin.f64 y)) (*.f64 2 (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 1/2 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 2) (*.f64 1/2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 1/2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x y) (*.f64 1/2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) x) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 x y)) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 y (sin.f64 y))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (sin.f64 y)) (*.f64 2 (/.f64 1 y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) (*.f64 1/2 (sin.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 x (neg.f64 (+.f64 y y))) (/.f64 1/2 (sin.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/2 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (/.f64 1/2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) 2) (/.f64 (/.f64 1/2 (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 1/2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1/2 (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/2 (sin.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 1/2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 1/2 (sin.f64 y))))))))

simplify128.0ms (1.5%)

Algorithm
egg-herbie
Rules
1506×rational.json-simplify-35
1312×rational.json-simplify-2
862×rational.json-simplify-41
636×exponential.json-simplify-26
628×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02073036
14253036
29273036
325683024
452233024
571593024
Stop Event
node limit
Counts
144 → 132
Calls
Call 1
Inputs
(/.f64 1/2 x)
(+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 7/720 (/.f64 (pow.f64 y 4) x)) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 31/30240 (/.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 7/720 (/.f64 (pow.f64 y 4) x)) (*.f64 1/2 (/.f64 1 x)))))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 1/2 y)
(+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y))
(+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 (*.f64 7/720 (pow.f64 y 3)) (*.f64 1/12 y)))
(+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 (*.f64 7/720 (pow.f64 y 3)) (+.f64 (*.f64 1/12 y) (*.f64 31/30240 (pow.f64 y 5)))))
(+.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 0)
(+.f64 0 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))))
(+.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)) (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)))
(-.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 0)
(-.f64 0 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y))))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 y (/.f64 1/2 (*.f64 (sin.f64 y) x)))
(*.f64 y (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/2 x)))
(*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 y x))
(*.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 1)
(*.f64 1 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))
(*.f64 (+.f64 y y) (/.f64 1/2 (*.f64 (sin.f64 y) (+.f64 x x))))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/4 x)))
(*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 (*.f64 (sin.f64 y) x))))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/2 x)))
(*.f64 (/.f64 y (*.f64 (sin.f64 y) x)) 1/2)
(*.f64 (/.f64 1 (sin.f64 y)) (*.f64 y (/.f64 1/2 x)))
(*.f64 (/.f64 1 (sin.f64 y)) (*.f64 1/2 (/.f64 y x)))
(*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 1 (sin.f64 y)))
(*.f64 2 (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)))
(*.f64 2 (*.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 y (/.f64 1/2 x))))
(*.f64 2 (*.f64 (/.f64 y x) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)))
(*.f64 (*.f64 y 4) (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/4 x)))
(*.f64 (/.f64 2 (sin.f64 y)) (*.f64 1/2 (*.f64 y (/.f64 1/2 x))))
(*.f64 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y))) -1)
(*.f64 (/.f64 y x) (/.f64 1/2 (sin.f64 y)))
(*.f64 (/.f64 1/2 (*.f64 (sin.f64 y) x)) y)
(*.f64 4 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)))
(*.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)) 2)
(*.f64 (*.f64 1/2 (/.f64 y x)) (/.f64 1 (sin.f64 y)))
(*.f64 (/.f64 1/2 (*.f64 (sin.f64 y) (+.f64 x x))) (+.f64 y y))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/2 x)) y)
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/4 x)) (+.f64 y y))
(*.f64 (*.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 y (/.f64 1/2 x))) 2)
(*.f64 (*.f64 (/.f64 y x) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)) 2)
(*.f64 (*.f64 1/2 (/.f64 1/2 (*.f64 (sin.f64 y) x))) (+.f64 y y))
(*.f64 (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/2 x)) (+.f64 y y))
(*.f64 (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/4 x)) (*.f64 y 4))
(*.f64 (*.f64 1/2 (*.f64 y (/.f64 1/2 x))) (/.f64 2 (sin.f64 y)))
(*.f64 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)) 4)
(pow.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 1)
(neg.f64 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y))))
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 x y))) (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 x y))))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 1/2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 2)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x (*.f64 (*.f64 1/2 (sin.f64 y)) (*.f64 2 (/.f64 1 y))))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 (+.f64 x x) (/.f64 1/2 (/.f64 y (sin.f64 y))))
(*.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(*.f64 (*.f64 (/.f64 x y) 2) (*.f64 1/2 (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 1/2 (/.f64 x y)))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (/.f64 1/2 y))
(*.f64 2 (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 x y))))
(*.f64 2 (*.f64 (/.f64 x y) (*.f64 1/2 (sin.f64 y))))
(*.f64 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 2)) 1/2)
(*.f64 (*.f64 (sin.f64 y) x) (/.f64 1 y))
(*.f64 (*.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2))
(*.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (*.f64 1/2 (/.f64 x y)) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 (/.f64 1/2 (/.f64 y (sin.f64 y))) (+.f64 x x))
(*.f64 (*.f64 (*.f64 1/2 (sin.f64 y)) (*.f64 2 (/.f64 1 y))) x)
(*.f64 (*.f64 (/.f64 x y) (*.f64 1/2 (sin.f64 y))) 2)
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(neg.f64 (/.f64 (/.f64 x (neg.f64 (+.f64 y y))) (/.f64 1/2 (sin.f64 y))))
(+.f64 (/.f64 1/2 (sin.f64 y)) 0)
(+.f64 0 (/.f64 1/2 (sin.f64 y)))
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 1/2 (sin.f64 y)))))
(+.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) 2) (/.f64 (/.f64 1/2 (sin.f64 y)) 2))
(-.f64 (/.f64 1/2 (sin.f64 y)) 0)
(-.f64 0 (neg.f64 (/.f64 1/2 (sin.f64 y))))
(*.f64 1/2 (/.f64 1 (sin.f64 y)))
(*.f64 (/.f64 1/2 (sin.f64 y)) 1)
(*.f64 1 (/.f64 1/2 (sin.f64 y)))
(*.f64 (/.f64 1 (sin.f64 y)) 1/2)
(*.f64 2 (/.f64 (/.f64 1/2 (sin.f64 y)) 2))
(*.f64 (neg.f64 (/.f64 1/2 (sin.f64 y))) -1)
(*.f64 -1 (neg.f64 (/.f64 1/2 (sin.f64 y))))
(*.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) 2) 2)
(pow.f64 (/.f64 1/2 (sin.f64 y)) 1)
(neg.f64 (neg.f64 (/.f64 1/2 (sin.f64 y))))
Outputs
(/.f64 1/2 x)
(+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 7/720 (/.f64 (pow.f64 y 4) x)) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 7/720 (/.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 7/720 (/.f64 (pow.f64 y 4) x))))
(+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 31/30240 (/.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 7/720 (/.f64 (pow.f64 y 4) x)) (*.f64 1/2 (/.f64 1 x)))))
(+.f64 (*.f64 31/30240 (/.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 7/720 (/.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (*.f64 1/2 (/.f64 1 x)))))
(+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (+.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 7/720 (/.f64 (pow.f64 y 4) x))) (*.f64 31/30240 (/.f64 (pow.f64 y 6) x))))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (*.f64 7/720 (/.f64 (pow.f64 y 4) x))) (*.f64 31/30240 (/.f64 (pow.f64 y 6) x))))
(+.f64 (*.f64 1/12 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 7/720 (/.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 31/30240 (/.f64 (pow.f64 y 6) x)))))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (+.f64 x (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 (+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6))) (*.f64 (pow.f64 y 4) (*.f64 x 1/120)))
(+.f64 x (*.f64 x (+.f64 (*.f64 (pow.f64 y 4) 1/120) (*.f64 (pow.f64 y 2) -1/6))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 x (*.f64 (pow.f64 y 6) (*.f64 x -1/5040)))))
(+.f64 x (+.f64 (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (*.f64 (pow.f64 y 4) (*.f64 x 1/120))) (*.f64 (pow.f64 y 6) (*.f64 x -1/5040))))
(+.f64 (+.f64 x (*.f64 (pow.f64 y 4) (*.f64 x 1/120))) (*.f64 x (+.f64 (*.f64 (pow.f64 y 2) -1/6) (*.f64 (pow.f64 y 6) -1/5040))))
(+.f64 (+.f64 x (*.f64 (pow.f64 y 4) (*.f64 x 1/120))) (*.f64 x (+.f64 (*.f64 (pow.f64 y 6) -1/5040) (*.f64 (pow.f64 y 2) -1/6))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 1/2 y)
(+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y))
(+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 (*.f64 7/720 (pow.f64 y 3)) (*.f64 1/12 y)))
(+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 (*.f64 1/12 y) (*.f64 7/720 (pow.f64 y 3))))
(+.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (*.f64 7/720 (pow.f64 y 3)))
(+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 (*.f64 7/720 (pow.f64 y 3)) (+.f64 (*.f64 1/12 y) (*.f64 31/30240 (pow.f64 y 5)))))
(+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 (*.f64 1/12 y) (+.f64 (*.f64 31/30240 (pow.f64 y 5)) (*.f64 7/720 (pow.f64 y 3)))))
(+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 (*.f64 1/12 y) (+.f64 (*.f64 7/720 (pow.f64 y 3)) (*.f64 31/30240 (pow.f64 y 5)))))
(+.f64 (*.f64 1/12 y) (+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 (*.f64 7/720 (pow.f64 y 3)) (*.f64 31/30240 (pow.f64 y 5)))))
(+.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 0)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(+.f64 0 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(+.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)) (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(-.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 0)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(-.f64 0 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y))))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 y (/.f64 1/2 (*.f64 (sin.f64 y) x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 y (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/2 x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 y x))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 1)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 1 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (+.f64 y y) (/.f64 1/2 (*.f64 (sin.f64 y) (+.f64 x x))))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/4 x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 (*.f64 (sin.f64 y) x))))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/2 x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 y (*.f64 (sin.f64 y) x)) 1/2)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 1 (sin.f64 y)) (*.f64 y (/.f64 1/2 x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 1 (sin.f64 y)) (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 1 (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 2 (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 2 (*.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 y (/.f64 1/2 x))))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 2 (*.f64 (/.f64 y x) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 y 4) (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/4 x)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 2 (sin.f64 y)) (*.f64 1/2 (*.f64 y (/.f64 1/2 x))))
(*.f64 1/2 (*.f64 (*.f64 (/.f64 1/2 x) y) (/.f64 2 (sin.f64 y))))
(*.f64 y (*.f64 (*.f64 1/2 (/.f64 1/2 x)) (/.f64 2 (sin.f64 y))))
(*.f64 (*.f64 (/.f64 1/2 x) y) (*.f64 1/2 (/.f64 2 (sin.f64 y))))
(*.f64 (/.f64 1/2 x) (*.f64 (/.f64 2 (sin.f64 y)) (*.f64 1/2 y)))
(*.f64 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y))) -1)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 y x) (/.f64 1/2 (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 1/2 (*.f64 (sin.f64 y) x)) y)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 4 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2)) 2)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 1/2 (/.f64 y x)) (/.f64 1 (sin.f64 y)))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (/.f64 1/2 (*.f64 (sin.f64 y) (+.f64 x x))) (+.f64 y y))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/2 x)) y)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1/4 x)) (+.f64 y y))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 y (/.f64 1/2 x))) 2)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 (/.f64 y x) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)) 2)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 1/2 (/.f64 1/2 (*.f64 (sin.f64 y) x))) (+.f64 y y))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/2 x)) (+.f64 y y))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/4 x)) (*.f64 y 4))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(*.f64 (*.f64 1/2 (*.f64 y (/.f64 1/2 x))) (/.f64 2 (sin.f64 y)))
(*.f64 1/2 (*.f64 (*.f64 (/.f64 1/2 x) y) (/.f64 2 (sin.f64 y))))
(*.f64 y (*.f64 (*.f64 1/2 (/.f64 1/2 x)) (/.f64 2 (sin.f64 y))))
(*.f64 (*.f64 (/.f64 1/2 x) y) (*.f64 1/2 (/.f64 2 (sin.f64 y))))
(*.f64 (/.f64 1/2 x) (*.f64 (/.f64 2 (sin.f64 y)) (*.f64 1/2 y)))
(*.f64 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1/2 (sin.f64 y)) 2)) 4)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(pow.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y)) 1)
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(neg.f64 (neg.f64 (/.f64 (*.f64 y (/.f64 1/2 x)) (sin.f64 y))))
(*.f64 1/2 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 1/2 (/.f64 (/.f64 y x) (sin.f64 y)))
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 x y))) (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 x y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 1/2 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (*.f64 (*.f64 1/2 (sin.f64 y)) (*.f64 2 (/.f64 1 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (/.f64 1/2 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (/.f64 x y) 2) (*.f64 1/2 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 1/2 (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (/.f64 1/2 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (*.f64 1/2 (*.f64 (sin.f64 y) (/.f64 x y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (*.f64 (/.f64 x y) (*.f64 1/2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (*.f64 (/.f64 x y) 2)) 1/2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) x) (/.f64 1 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 1/2 (sin.f64 y)) (*.f64 (/.f64 x y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1/2 y) (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 1/2 (/.f64 x y)) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1/2 (/.f64 y (sin.f64 y))) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (*.f64 1/2 (sin.f64 y)) (*.f64 2 (/.f64 1 y))) x)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (/.f64 x y) (*.f64 1/2 (sin.f64 y))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (/.f64 x (neg.f64 (+.f64 y y))) (/.f64 1/2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 (/.f64 1/2 (sin.f64 y)) 0)
(/.f64 1/2 (sin.f64 y))
(+.f64 0 (/.f64 1/2 (sin.f64 y)))
(/.f64 1/2 (sin.f64 y))
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 1/2 (sin.f64 y)))))
(/.f64 1/2 (sin.f64 y))
(+.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) 2) (/.f64 (/.f64 1/2 (sin.f64 y)) 2))
(/.f64 1/2 (sin.f64 y))
(-.f64 (/.f64 1/2 (sin.f64 y)) 0)
(/.f64 1/2 (sin.f64 y))
(-.f64 0 (neg.f64 (/.f64 1/2 (sin.f64 y))))
(/.f64 1/2 (sin.f64 y))
(*.f64 1/2 (/.f64 1 (sin.f64 y)))
(*.f64 (/.f64 1/2 (sin.f64 y)) 1)
(/.f64 1/2 (sin.f64 y))
(*.f64 1 (/.f64 1/2 (sin.f64 y)))
(/.f64 1/2 (sin.f64 y))
(*.f64 (/.f64 1 (sin.f64 y)) 1/2)
(*.f64 1/2 (/.f64 1 (sin.f64 y)))
(*.f64 2 (/.f64 (/.f64 1/2 (sin.f64 y)) 2))
(/.f64 1/2 (sin.f64 y))
(*.f64 (neg.f64 (/.f64 1/2 (sin.f64 y))) -1)
(/.f64 1/2 (sin.f64 y))
(*.f64 -1 (neg.f64 (/.f64 1/2 (sin.f64 y))))
(/.f64 1/2 (sin.f64 y))
(*.f64 (/.f64 (/.f64 1/2 (sin.f64 y)) 2) 2)
(/.f64 1/2 (sin.f64 y))
(pow.f64 (/.f64 1/2 (sin.f64 y)) 1)
(/.f64 1/2 (sin.f64 y))
(neg.f64 (neg.f64 (/.f64 1/2 (sin.f64 y))))
(/.f64 1/2 (sin.f64 y))

eval251.0ms (3%)

Compiler

Compiled 9273 to 5034 computations (45.7% saved)

prune259.0ms (3.1%)

Pruning

15 alts after pruning (9 fresh and 6 done)

PrunedKeptTotal
New7285733
Fresh246
Picked011
Done055
Total73015745
Error
0b
Counts
745 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
7.5b
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
7.4b
(/.f64 (*.f64 (sin.f64 y) x) y)
40.3b
(/.f64 (*.f64 y x) y)
7.9b
(/.f64 (sin.f64 y) (/.f64 y x))
0.1b
(/.f64 x (/.f64 y (sin.f64 y)))
7.9b
(/.f64 1 (/.f64 (/.f64 y x) (sin.f64 y)))
32.9b
(/.f64 1 (/.f64 1 x))
8.3b
(/.f64 1/2 (/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y)))
33.2b
(/.f64 1/2 (/.f64 (/.f64 1/2 y) (/.f64 x y)))
31.5b
(/.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (/.f64 x y)))
7.4b
(*.f64 (sin.f64 y) (/.f64 x y))
0.2b
(*.f64 x (/.f64 (sin.f64 y) y))
24.4b
(*.f64 x (*.f64 y (/.f64 (sin.f64 y) (/.f64 y (/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y))))))
32.8b
x
Compiler

Compiled 233 to 156 computations (33% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (sin.f64 y))
7.0b
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
Compiler

Compiled 22 to 10 computations (54.5% saved)

series2.0ms (0%)

Counts
2 → 28
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
0.0ms
y
@-inf
(/.f64 1 (sin.f64 y))
0.0ms
y
@inf
(/.f64 1 (sin.f64 y))
0.0ms
y
@0
(/.f64 1 (sin.f64 y))
0.0ms
x
@0
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))

rewrite71.0ms (0.9%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01034
18828
228728
398628
4438128
Stop Event
node limit
Counts
2 → 111
Calls
Call 1
Inputs
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
(/.f64 1 (sin.f64 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 x y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 x y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 (sin.f64 y) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 x y) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 y) (*.f64 2 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 2 (/.f64 y (/.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 2 y)) (/.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sin.f64 y)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (/.f64 1 (*.f64 (sin.f64 y) (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 (+.f64 y y) (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 2 (*.f64 2 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (/.f64 y (/.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 4) (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 (sin.f64 y) 2)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 x (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (*.f64 y (/.f64 -1 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (neg.f64 (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (*.f64 y (/.f64 -1 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (neg.f64 (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 x y) (/.f64 -1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 x (sin.f64 y)) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (neg.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 x y)) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 x y)) (/.f64 1 (/.f64 -1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (neg.f64 (sin.f64 y))) (/.f64 1 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (/.f64 x (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) 2) (*.f64 x (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 x (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (+.f64 y y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 x (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) 2)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y (/.f64 -1 (sin.f64 y)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (neg.f64 (/.f64 y (sin.f64 y)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) (/.f64 -1 (sin.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (sin.f64 y)) (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) (/.f64 2 (sin.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 2 (sin.f64 y))) (*.f64 2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 2 (/.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (sin.f64 y) (/.f64 y x))) (*.f64 (sin.f64 y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (/.f64 y x))) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 y y) (/.f64 2 (sin.f64 y)))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (*.f64 2 (/.f64 y x)))) (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 y (/.f64 x 4))) (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 y (/.f64 x 4))) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) 4)) (*.f64 (/.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (/.f64 -1 (sin.f64 y)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (/.f64 y (sin.f64 y)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -1 (sin.f64 y))) (neg.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 y)) (*.f64 x (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 x y) (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (/.f64 x y)) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (*.f64 y (/.f64 -1 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 x y) (/.f64 -1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x (sin.f64 y)) (neg.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 1 (*.f64 (sin.f64 y) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1 (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 1 (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (sin.f64 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (sin.f64 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) 2) (/.f64 2 (*.f64 (sin.f64 y) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (sin.f64 y) (sin.f64 y))) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 (sin.f64 y) (sin.f64 y))) (/.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (sin.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 1 (sin.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (sin.f64 y)) (*.f64 (sin.f64 y) (sin.f64 y))))))))

simplify131.0ms (1.6%)

Algorithm
egg-herbie
Rules
1008×rational.json-simplify-35
890×rational.json-simplify-44
886×rational.json-simplify-51
754×rational.json-simplify-47
722×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02382835
15232799
213552763
345752751
472612751
Stop Event
node limit
Counts
139 → 161
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 1/6 y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 1/6 y) (*.f64 7/360 (pow.f64 y 3))))
(+.f64 (*.f64 31/15120 (pow.f64 y 5)) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/6 y) (*.f64 7/360 (pow.f64 y 3)))))
(+.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 0)
(+.f64 0 (*.f64 (/.f64 x y) (sin.f64 y)))
(-.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 1 (*.f64 (/.f64 x y) (sin.f64 y)))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (/.f64 y x))))
(*.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 1)
(*.f64 (+.f64 x x) (/.f64 (sin.f64 y) (+.f64 y y)))
(*.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) 2)))
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 2 (/.f64 (/.f64 x y) (/.f64 2 (sin.f64 y))))
(*.f64 2 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 2 (/.f64 y x))))
(*.f64 2 (/.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 2))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 2 (/.f64 y (/.f64 x 4))))
(*.f64 (*.f64 x (/.f64 2 y)) (/.f64 (sin.f64 y) 2))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (*.f64 x (sin.f64 y)) (/.f64 1 y))
(*.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (/.f64 1 (*.f64 (sin.f64 y) (/.f64 y x))))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (+.f64 y y) (/.f64 2 (sin.f64 y)))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 2 (*.f64 2 (/.f64 y x)))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (/.f64 y (/.f64 x 4))))
(*.f64 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))) 1/2)
(*.f64 (*.f64 (/.f64 x y) 4) (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) 4)))
(*.f64 (*.f64 x (*.f64 (sin.f64 y) 2)) (/.f64 1/2 y))
(*.f64 (/.f64 1 y) (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))))
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y (/.f64 -1 (sin.f64 y)))))
(*.f64 (neg.f64 x) (/.f64 1 (neg.f64 (/.f64 y (sin.f64 y)))))
(*.f64 -1 (/.f64 x (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))))
(*.f64 -1 (/.f64 x (*.f64 y (/.f64 -1 (sin.f64 y)))))
(*.f64 -1 (/.f64 x (neg.f64 (/.f64 y (sin.f64 y)))))
(*.f64 -1 (/.f64 (/.f64 x y) (/.f64 -1 (sin.f64 y))))
(*.f64 -1 (/.f64 (*.f64 x (sin.f64 y)) (neg.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 (/.f64 x y)))
(*.f64 (neg.f64 (/.f64 x y)) (neg.f64 (sin.f64 y)))
(*.f64 (neg.f64 (/.f64 x y)) (/.f64 1 (/.f64 -1 (sin.f64 y))))
(*.f64 (*.f64 x (neg.f64 (sin.f64 y))) (/.f64 1 (neg.f64 y)))
(*.f64 (*.f64 2 (/.f64 1 y)) (/.f64 x (/.f64 2 (sin.f64 y))))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 x 1/2))
(*.f64 1/2 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))))
(*.f64 (/.f64 (sin.f64 y) 2) (*.f64 x (/.f64 2 y)))
(*.f64 (/.f64 1/2 y) (*.f64 x (*.f64 (sin.f64 y) 2)))
(*.f64 (/.f64 (sin.f64 y) (+.f64 y y)) (+.f64 x x))
(*.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 x (/.f64 2 y)))
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))
(*.f64 (*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) 2)) (+.f64 x x))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))
(*.f64 (/.f64 x (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))) -1)
(*.f64 (/.f64 x (*.f64 y (/.f64 -1 (sin.f64 y)))) -1)
(*.f64 (/.f64 x (neg.f64 (/.f64 y (sin.f64 y)))) -1)
(*.f64 (/.f64 (/.f64 x y) (/.f64 -1 (sin.f64 y))) -1)
(*.f64 (/.f64 (*.f64 x (sin.f64 y)) (neg.f64 y)) -1)
(*.f64 (/.f64 (/.f64 x y) (/.f64 2 (sin.f64 y))) 2)
(*.f64 (/.f64 x (/.f64 2 (sin.f64 y))) (*.f64 2 (/.f64 1 y)))
(*.f64 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))) 2)
(*.f64 (/.f64 (sin.f64 y) (*.f64 2 (/.f64 y x))) 2)
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) (/.f64 y x))) (*.f64 (sin.f64 y) (sin.f64 y)))
(*.f64 (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (/.f64 y x))) (sin.f64 y))
(*.f64 (/.f64 1 (*.f64 (+.f64 y y) (/.f64 2 (sin.f64 y)))) (*.f64 x 4))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 2 (/.f64 y x)))) (*.f64 (sin.f64 y) 4))
(*.f64 (/.f64 1 (/.f64 y (/.f64 x 4))) (*.f64 (sin.f64 y) 4))
(*.f64 (/.f64 2 (/.f64 y (/.f64 x 4))) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 2) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) 4)) (*.f64 (/.f64 x y) 4))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))) (neg.f64 x))
(*.f64 (/.f64 1 (*.f64 y (/.f64 -1 (sin.f64 y)))) (neg.f64 x))
(*.f64 (/.f64 1 (neg.f64 (/.f64 y (sin.f64 y)))) (neg.f64 x))
(*.f64 (/.f64 1 (/.f64 -1 (sin.f64 y))) (neg.f64 (/.f64 x y)))
(*.f64 (/.f64 1 (neg.f64 y)) (*.f64 x (neg.f64 (sin.f64 y))))
(pow.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 1)
(neg.f64 (*.f64 (/.f64 x y) (neg.f64 (sin.f64 y))))
(neg.f64 (/.f64 (neg.f64 (/.f64 x y)) (/.f64 1 (sin.f64 y))))
(neg.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 y x)))
(neg.f64 (/.f64 x (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))))
(neg.f64 (/.f64 x (*.f64 y (/.f64 -1 (sin.f64 y)))))
(neg.f64 (/.f64 x (neg.f64 (/.f64 y (sin.f64 y)))))
(neg.f64 (/.f64 (/.f64 x y) (/.f64 -1 (sin.f64 y))))
(neg.f64 (/.f64 (*.f64 x (sin.f64 y)) (neg.f64 y)))
(+.f64 (/.f64 1 (sin.f64 y)) 0)
(+.f64 0 (/.f64 1 (sin.f64 y)))
(-.f64 (/.f64 1 (sin.f64 y)) 0)
(-.f64 0 (/.f64 -1 (sin.f64 y)))
(*.f64 1 (/.f64 1 (sin.f64 y)))
(*.f64 (sin.f64 y) (/.f64 1 (*.f64 (sin.f64 y) (sin.f64 y))))
(*.f64 (/.f64 1 (sin.f64 y)) 1)
(*.f64 2 (/.f64 (/.f64 1 (sin.f64 y)) 2))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 1 (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))))
(*.f64 (/.f64 2 (sin.f64 y)) 1/2)
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) 4) 1/4)
(*.f64 -1 (/.f64 -1 (sin.f64 y)))
(*.f64 (/.f64 -1 (sin.f64 y)) -1)
(*.f64 1/2 (/.f64 2 (sin.f64 y)))
(*.f64 (/.f64 (sin.f64 y) 2) (/.f64 2 (*.f64 (sin.f64 y) (sin.f64 y))))
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) (sin.f64 y))) (sin.f64 y))
(*.f64 (/.f64 2 (*.f64 (sin.f64 y) (sin.f64 y))) (/.f64 (sin.f64 y) 2))
(*.f64 (/.f64 (/.f64 1 (sin.f64 y)) 2) 2)
(*.f64 1/4 (*.f64 (/.f64 1 (sin.f64 y)) 4))
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))) 2)
(pow.f64 (/.f64 1 (sin.f64 y)) 1)
(neg.f64 (/.f64 -1 (sin.f64 y)))
(neg.f64 (/.f64 (neg.f64 (sin.f64 y)) (*.f64 (sin.f64 y) (sin.f64 y))))
Outputs
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 -1/6 (*.f64 x (pow.f64 y 2))))
(+.f64 x (*.f64 x (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (+.f64 x (*.f64 1/120 (*.f64 x (pow.f64 y 4)))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (*.f64 x (*.f64 -1/6 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (+.f64 x (*.f64 x (*.f64 1/120 (pow.f64 y 4)))))
(+.f64 x (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 -1/6 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 4))) (+.f64 x (*.f64 -1/5040 (*.f64 x (pow.f64 y 6))))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (+.f64 (+.f64 x (*.f64 (pow.f64 y 4) (*.f64 x 1/120))) (*.f64 x (*.f64 -1/5040 (pow.f64 y 6)))))
(+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 2))) (+.f64 (*.f64 x (*.f64 1/120 (pow.f64 y 4))) (+.f64 x (*.f64 x (*.f64 -1/5040 (pow.f64 y 6))))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (*.f64 x (+.f64 (*.f64 -1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4))))))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 -1/5040 (pow.f64 y 6))))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 1/6 y))
(+.f64 (/.f64 1 y) (*.f64 y 1/6))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 1/6 y) (*.f64 7/360 (pow.f64 y 3))))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 y 1/6) (*.f64 7/360 (pow.f64 y 3))))
(+.f64 (*.f64 y 1/6) (+.f64 (/.f64 1 y) (*.f64 7/360 (pow.f64 y 3))))
(+.f64 (*.f64 31/15120 (pow.f64 y 5)) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/6 y) (*.f64 7/360 (pow.f64 y 3)))))
(+.f64 (/.f64 1 y) (+.f64 (+.f64 (*.f64 y 1/6) (*.f64 7/360 (pow.f64 y 3))) (*.f64 31/15120 (pow.f64 y 5))))
(+.f64 (+.f64 (*.f64 y 1/6) (+.f64 (/.f64 1 y) (*.f64 7/360 (pow.f64 y 3)))) (*.f64 31/15120 (pow.f64 y 5)))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 y 1/6) (+.f64 (*.f64 7/360 (pow.f64 y 3)) (*.f64 31/15120 (pow.f64 y 5)))))
(+.f64 (*.f64 y 1/6) (+.f64 (*.f64 7/360 (pow.f64 y 3)) (+.f64 (/.f64 1 y) (*.f64 31/15120 (pow.f64 y 5)))))
(+.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 0 (*.f64 (/.f64 x y) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(-.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 1 (*.f64 (/.f64 x y) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (/.f64 y x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (/.f64 (sin.f64 y) (+.f64 y y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (*.f64 (sin.f64 y) (/.f64 1/2 y)))
(*.f64 (sin.f64 y) (*.f64 (/.f64 1/2 y) (+.f64 x x)))
(*.f64 (sin.f64 y) (*.f64 (+.f64 x x) (/.f64 1/2 y)))
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) 2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (/.f64 x y) (/.f64 2 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 2 (/.f64 y x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 2 (/.f64 y (/.f64 x 4))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 x (/.f64 2 y)) (/.f64 (sin.f64 y) 2))
(*.f64 (/.f64 (sin.f64 y) 2) (*.f64 x (/.f64 2 y)))
(*.f64 x (*.f64 (/.f64 (sin.f64 y) 2) (/.f64 2 y)))
(*.f64 x (/.f64 2 (/.f64 2 (/.f64 (sin.f64 y) y))))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (sin.f64 y) (*.f64 1/2 (*.f64 x (/.f64 2 y))))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 (*.f64 x (sin.f64 y)) (/.f64 1 y))
(*.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 (/.f64 1 y) x))
(*.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (/.f64 1 (*.f64 (sin.f64 y) (/.f64 y x))))
(*.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (/.f64 (/.f64 x y) (sin.f64 y)))
(*.f64 (sin.f64 y) (*.f64 (sin.f64 y) (/.f64 (/.f64 x y) (sin.f64 y))))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (+.f64 y y) (/.f64 2 (sin.f64 y)))))
(*.f64 (*.f64 x 4) (/.f64 (/.f64 1/2 y) (/.f64 2 (sin.f64 y))))
(*.f64 4 (*.f64 (/.f64 (sin.f64 y) (/.f64 2 (/.f64 1/2 y))) x))
(*.f64 (*.f64 x 4) (/.f64 (sin.f64 y) (/.f64 y 1/4)))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 2 (*.f64 2 (/.f64 y x)))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1/2 (*.f64 2 (/.f64 y x))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1/4 (/.f64 y x)))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 x (*.f64 y 4))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (/.f64 y (/.f64 x 4))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1/2 (*.f64 2 (/.f64 y x))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1/4 (/.f64 y x)))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 x (*.f64 y 4))))
(*.f64 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))) 1/2)
(*.f64 (sin.f64 y) (*.f64 1/2 (*.f64 x (/.f64 2 y))))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (*.f64 (/.f64 x y) 4) (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) 4)))
(*.f64 (/.f64 x y) (*.f64 4 (/.f64 1 (*.f64 4 (/.f64 1 (sin.f64 y))))))
(*.f64 4 (*.f64 (/.f64 1/4 (/.f64 1 (sin.f64 y))) (/.f64 x y)))
(*.f64 4 (*.f64 (/.f64 x y) (/.f64 (sin.f64 y) 4)))
(*.f64 (*.f64 x (*.f64 (sin.f64 y) 2)) (/.f64 1/2 y))
(*.f64 (sin.f64 y) (*.f64 (/.f64 1/2 y) (+.f64 x x)))
(*.f64 (sin.f64 y) (*.f64 (+.f64 x x) (/.f64 1/2 y)))
(*.f64 (/.f64 1 y) (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 1 y) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 (/.f64 1 y) x))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y (/.f64 -1 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 x) (/.f64 1 (neg.f64 (/.f64 y (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 x (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 x (*.f64 y (/.f64 -1 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 x (neg.f64 (/.f64 y (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 (/.f64 x y) (/.f64 -1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 (*.f64 x (sin.f64 y)) (neg.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 (/.f64 x y)) (neg.f64 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 (/.f64 x y)) (/.f64 1 (/.f64 -1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 x (neg.f64 (sin.f64 y))) (/.f64 1 (neg.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 2 (/.f64 1 y)) (/.f64 x (/.f64 2 (sin.f64 y))))
(*.f64 2 (*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 2 x))))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 x 1/2))
(*.f64 (sin.f64 y) (*.f64 1/2 (*.f64 x (/.f64 2 y))))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 1/2 (*.f64 x (*.f64 (sin.f64 y) (/.f64 2 y))))
(*.f64 (sin.f64 y) (*.f64 1/2 (*.f64 x (/.f64 2 y))))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (/.f64 (sin.f64 y) 2) (*.f64 x (/.f64 2 y)))
(*.f64 x (*.f64 (/.f64 (sin.f64 y) 2) (/.f64 2 y)))
(*.f64 x (/.f64 2 (/.f64 2 (/.f64 (sin.f64 y) y))))
(*.f64 (/.f64 1/2 y) (*.f64 x (*.f64 (sin.f64 y) 2)))
(*.f64 (sin.f64 y) (*.f64 (/.f64 1/2 y) (+.f64 x x)))
(*.f64 (sin.f64 y) (*.f64 (+.f64 x x) (/.f64 1/2 y)))
(*.f64 (/.f64 (sin.f64 y) (+.f64 y y)) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (sin.f64 y) (*.f64 1/2 (*.f64 x (/.f64 2 y))))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 x (/.f64 2 y)))
(*.f64 (sin.f64 y) (*.f64 1/2 (*.f64 x (/.f64 2 y))))
(*.f64 (sin.f64 y) (*.f64 (/.f64 2 y) (*.f64 x 1/2)))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 (sin.f64 y) 1/2))
(*.f64 (*.f64 (sin.f64 y) (/.f64 1/2 y)) (+.f64 x x))
(*.f64 (sin.f64 y) (*.f64 (/.f64 1/2 y) (+.f64 x x)))
(*.f64 (sin.f64 y) (*.f64 (+.f64 x x) (/.f64 1/2 y)))
(*.f64 (*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) 2)) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (*.f64 y (/.f64 -1 (sin.f64 y)))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (neg.f64 (/.f64 y (sin.f64 y)))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (/.f64 x y) (/.f64 -1 (sin.f64 y))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (*.f64 x (sin.f64 y)) (neg.f64 y)) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (/.f64 x y) (/.f64 2 (sin.f64 y))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (/.f64 2 (sin.f64 y))) (*.f64 2 (/.f64 1 y)))
(*.f64 2 (*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 2 x))))
(*.f64 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (*.f64 2 (/.f64 y x))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) (/.f64 y x))) (*.f64 (sin.f64 y) (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (/.f64 1 (*.f64 (sin.f64 y) (/.f64 y x))))
(*.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (/.f64 (/.f64 x y) (sin.f64 y)))
(*.f64 (sin.f64 y) (*.f64 (sin.f64 y) (/.f64 (/.f64 x y) (sin.f64 y))))
(*.f64 (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (/.f64 y x))) (sin.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 (+.f64 y y) (/.f64 2 (sin.f64 y)))) (*.f64 x 4))
(*.f64 (*.f64 x 4) (/.f64 (/.f64 1/2 y) (/.f64 2 (sin.f64 y))))
(*.f64 4 (*.f64 (/.f64 (sin.f64 y) (/.f64 2 (/.f64 1/2 y))) x))
(*.f64 (*.f64 x 4) (/.f64 (sin.f64 y) (/.f64 y 1/4)))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 2 (/.f64 y x)))) (*.f64 (sin.f64 y) 4))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1/2 (*.f64 2 (/.f64 y x))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1/4 (/.f64 y x)))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 x (*.f64 y 4))))
(*.f64 (/.f64 1 (/.f64 y (/.f64 x 4))) (*.f64 (sin.f64 y) 4))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1/2 (*.f64 2 (/.f64 y x))))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1/4 (/.f64 y x)))
(*.f64 (sin.f64 y) (*.f64 4 (/.f64 x (*.f64 y 4))))
(*.f64 (/.f64 2 (/.f64 y (/.f64 x 4))) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 2) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) 4)) (*.f64 (/.f64 x y) 4))
(*.f64 (/.f64 x y) (*.f64 4 (/.f64 1 (*.f64 4 (/.f64 1 (sin.f64 y))))))
(*.f64 4 (*.f64 (/.f64 1/4 (/.f64 1 (sin.f64 y))) (/.f64 x y)))
(*.f64 4 (*.f64 (/.f64 x y) (/.f64 (sin.f64 y) 4)))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))) (neg.f64 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 y (/.f64 -1 (sin.f64 y)))) (neg.f64 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (neg.f64 (/.f64 y (sin.f64 y)))) (neg.f64 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (/.f64 -1 (sin.f64 y))) (neg.f64 (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (neg.f64 y)) (*.f64 x (neg.f64 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(pow.f64 (*.f64 (/.f64 x y) (sin.f64 y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (*.f64 (/.f64 x y) (neg.f64 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (neg.f64 (/.f64 x y)) (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 x (*.f64 (/.f64 1 (sin.f64 y)) (neg.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 x (*.f64 y (/.f64 -1 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 x (neg.f64 (/.f64 y (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (/.f64 x y) (/.f64 -1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (*.f64 x (sin.f64 y)) (neg.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 (/.f64 1 (sin.f64 y)) 0)
(/.f64 1 (sin.f64 y))
(+.f64 0 (/.f64 1 (sin.f64 y)))
(/.f64 1 (sin.f64 y))
(-.f64 (/.f64 1 (sin.f64 y)) 0)
(/.f64 1 (sin.f64 y))
(-.f64 0 (/.f64 -1 (sin.f64 y)))
(/.f64 1 (sin.f64 y))
(*.f64 1 (/.f64 1 (sin.f64 y)))
(/.f64 1 (sin.f64 y))
(*.f64 (sin.f64 y) (/.f64 1 (*.f64 (sin.f64 y) (sin.f64 y))))
(*.f64 (/.f64 1 (sin.f64 y)) 1)
(/.f64 1 (sin.f64 y))
(*.f64 2 (/.f64 (/.f64 1 (sin.f64 y)) 2))
(/.f64 1 (sin.f64 y))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))))
(/.f64 1 (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 1 (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))))
(*.f64 (sin.f64 y) (/.f64 1 (*.f64 (sin.f64 y) (sin.f64 y))))
(*.f64 (/.f64 2 (sin.f64 y)) 1/2)
(*.f64 1/2 (/.f64 2 (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) 4) 1/4)
(/.f64 1 (sin.f64 y))
(*.f64 -1 (/.f64 -1 (sin.f64 y)))
(/.f64 1 (sin.f64 y))
(*.f64 (/.f64 -1 (sin.f64 y)) -1)
(/.f64 1 (sin.f64 y))
(*.f64 1/2 (/.f64 2 (sin.f64 y)))
(*.f64 (/.f64 (sin.f64 y) 2) (/.f64 2 (*.f64 (sin.f64 y) (sin.f64 y))))
(/.f64 1 (sin.f64 y))
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) (sin.f64 y))) (sin.f64 y))
(*.f64 (sin.f64 y) (/.f64 1 (*.f64 (sin.f64 y) (sin.f64 y))))
(*.f64 (/.f64 2 (*.f64 (sin.f64 y) (sin.f64 y))) (/.f64 (sin.f64 y) 2))
(/.f64 1 (sin.f64 y))
(*.f64 (/.f64 (/.f64 1 (sin.f64 y)) 2) 2)
(/.f64 1 (sin.f64 y))
(*.f64 1/4 (*.f64 (/.f64 1 (sin.f64 y)) 4))
(/.f64 1 (sin.f64 y))
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))) (*.f64 (sin.f64 y) 2))
(*.f64 (sin.f64 y) (/.f64 1 (*.f64 (sin.f64 y) (sin.f64 y))))
(*.f64 (/.f64 (sin.f64 y) (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) 2))) 2)
(/.f64 1 (sin.f64 y))
(pow.f64 (/.f64 1 (sin.f64 y)) 1)
(/.f64 1 (sin.f64 y))
(neg.f64 (/.f64 -1 (sin.f64 y)))
(/.f64 1 (sin.f64 y))
(neg.f64 (/.f64 (neg.f64 (sin.f64 y)) (*.f64 (sin.f64 y) (sin.f64 y))))
(/.f64 1 (sin.f64 y))

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (/.f64 1 x))
Compiler

Compiled 12 to 9 computations (25% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(/.f64 1 (/.f64 1 x))
0.0ms
x
@inf
(/.f64 1 (/.f64 1 x))
0.0ms
x
@0
(/.f64 1 (/.f64 1 x))

rewrite89.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1922×rational.json-1
1922×rational.json-2
1922×rational.json-4
1922×rational.json-3
1160×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061
1531
21431
33331
414151
557551
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(/.f64 1 (/.f64 1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (/.f64 0 (/.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (/.f64 0 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (/.f64 2 x)) (/.f64 1 (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x x) (+.f64 x x)) (/.f64 (*.f64 x x) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1 x) (/.f64 2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 x) (/.f64 1 (/.f64 2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 x x)) (/.f64 x (/.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 x x)) (/.f64 x (/.f64 2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 x x)) (/.f64 (/.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 1 (*.f64 x x))) (/.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 2 (*.f64 x x))) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 x) 2) (*.f64 x (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 2 (*.f64 x x))) (/.f64 2 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 x) (/.f64 2 (*.f64 x x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (/.f64 1 x)) (/.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x . x)))))

simplify56.0ms (0.7%)

Algorithm
egg-herbie
Rules
1306×rational.json-simplify-2
720×rational.json-simplify-49
670×rational.json-simplify-59
632×rational.json-simplify-51
578×rational.json-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07048
114448
248848
3367148
Stop Event
node limit
Counts
48 → 37
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 x 0)
(+.f64 x (/.f64 0 (/.f64 1 (*.f64 x x))))
(+.f64 x (/.f64 0 (*.f64 x x)))
(+.f64 0 x)
(+.f64 -1 (-.f64 1 (neg.f64 x)))
(+.f64 (/.f64 1 (/.f64 2 x)) (/.f64 1 (/.f64 2 x)))
(+.f64 (/.f64 (*.f64 x x) (+.f64 x x)) (/.f64 (*.f64 x x) (+.f64 x x)))
(-.f64 x 0)
(-.f64 0 (neg.f64 x))
(*.f64 1 x)
(*.f64 x 1)
(*.f64 x (/.f64 x x))
(*.f64 (/.f64 1 x) (*.f64 x x))
(*.f64 2 (/.f64 x 2))
(*.f64 2 (/.f64 (/.f64 1 x) (/.f64 2 (*.f64 x x))))
(*.f64 (+.f64 x x) 1/2)
(*.f64 (/.f64 2 x) (/.f64 1 (/.f64 2 (*.f64 x x))))
(*.f64 (/.f64 1 (*.f64 x x)) (/.f64 x (/.f64 1 (*.f64 x x))))
(*.f64 (*.f64 x x) (/.f64 1 x))
(*.f64 (*.f64 x 4) 1/4)
(*.f64 -1 (neg.f64 x))
(*.f64 (neg.f64 x) -1)
(*.f64 (/.f64 2 (*.f64 x x)) (/.f64 x (/.f64 2 (*.f64 x x))))
(*.f64 (*.f64 x (+.f64 x x)) (/.f64 (/.f64 1 x) 2))
(*.f64 1/2 (+.f64 x x))
(*.f64 (/.f64 x x) x)
(*.f64 (/.f64 x (/.f64 1 (*.f64 x x))) (/.f64 1 (*.f64 x x)))
(*.f64 1/4 (*.f64 x 4))
(*.f64 (/.f64 1 (/.f64 2 (*.f64 x x))) (/.f64 2 x))
(*.f64 (/.f64 x 2) 2)
(*.f64 (/.f64 (/.f64 1 x) 2) (*.f64 x (+.f64 x x)))
(*.f64 (/.f64 x (/.f64 2 (*.f64 x x))) (/.f64 2 (*.f64 x x)))
(*.f64 (/.f64 (/.f64 1 x) (/.f64 2 (*.f64 x x))) 2)
(pow.f64 x 1)
(neg.f64 (neg.f64 x))
(neg.f64 (/.f64 (neg.f64 (/.f64 1 x)) (/.f64 1 (*.f64 x x))))
Outputs
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 x 0)
x
(+.f64 x (/.f64 0 (/.f64 1 (*.f64 x x))))
x
(+.f64 x (/.f64 0 (*.f64 x x)))
x
(+.f64 0 x)
x
(+.f64 -1 (-.f64 1 (neg.f64 x)))
x
(+.f64 (/.f64 1 (/.f64 2 x)) (/.f64 1 (/.f64 2 x)))
x
(+.f64 (/.f64 (*.f64 x x) (+.f64 x x)) (/.f64 (*.f64 x x) (+.f64 x x)))
x
(-.f64 x 0)
x
(-.f64 0 (neg.f64 x))
x
(*.f64 1 x)
x
(*.f64 x 1)
x
(*.f64 x (/.f64 x x))
x
(*.f64 (/.f64 1 x) (*.f64 x x))
x
(*.f64 2 (/.f64 x 2))
x
(*.f64 2 (/.f64 (/.f64 1 x) (/.f64 2 (*.f64 x x))))
x
(*.f64 (+.f64 x x) 1/2)
x
(*.f64 (/.f64 2 x) (/.f64 1 (/.f64 2 (*.f64 x x))))
x
(*.f64 (/.f64 1 (*.f64 x x)) (/.f64 x (/.f64 1 (*.f64 x x))))
x
(*.f64 (*.f64 x x) (/.f64 1 x))
x
(*.f64 (*.f64 x 4) 1/4)
x
(*.f64 -1 (neg.f64 x))
x
(*.f64 (neg.f64 x) -1)
x
(*.f64 (/.f64 2 (*.f64 x x)) (/.f64 x (/.f64 2 (*.f64 x x))))
x
(*.f64 (*.f64 x (+.f64 x x)) (/.f64 (/.f64 1 x) 2))
x
(*.f64 1/2 (+.f64 x x))
x
(*.f64 (/.f64 x x) x)
x
(*.f64 (/.f64 x (/.f64 1 (*.f64 x x))) (/.f64 1 (*.f64 x x)))
x
(*.f64 1/4 (*.f64 x 4))
x
(*.f64 (/.f64 1 (/.f64 2 (*.f64 x x))) (/.f64 2 x))
x
(*.f64 (/.f64 x 2) 2)
x
(*.f64 (/.f64 (/.f64 1 x) 2) (*.f64 x (+.f64 x x)))
x
(*.f64 (/.f64 x (/.f64 2 (*.f64 x x))) (/.f64 2 (*.f64 x x)))
x
(*.f64 (/.f64 (/.f64 1 x) (/.f64 2 (*.f64 x x))) 2)
x
(pow.f64 x 1)
x
(neg.f64 (neg.f64 x))
x
(neg.f64 (/.f64 (neg.f64 (/.f64 1 x)) (/.f64 1 (*.f64 x x))))
x

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1/2 (/.f64 (/.f64 1/2 y) (/.f64 x y)))
15.0b
(/.f64 (/.f64 1/2 y) (/.f64 x y))
Compiler

Compiled 27 to 14 computations (48.1% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite115.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1770×rational.json-1
1320×rational.json-simplify-50
1086×rational.json-2
1086×rational.json-4
1086×rational.json-3
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0944
17432
229232
314068
443768
579638
Stop Event
node limit
Counts
2 → 83
Calls
Call 1
Inputs
(/.f64 (/.f64 1/2 y) (/.f64 x y))
(/.f64 1/2 (/.f64 (/.f64 1/2 y) (/.f64 x y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/2 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/4 x) (/.f64 1/4 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 1 y) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 y (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 1/2 (*.f64 y (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 1 y) (/.f64 1/4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 1/2 y) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (*.f64 (/.f64 1/2 y) (/.f64 1/4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1/4 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 y (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 y x) (/.f64 (/.f64 1 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (*.f64 1/2 (*.f64 y (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y x) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 y x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 y x)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 y (+.f64 x x))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) (/.f64 1/2 x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) (/.f64 1/4 x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 y) (*.f64 y (/.f64 1/2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y x) (/.f64 (/.f64 1 y) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1/2 (*.f64 y x))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 y) (/.f64 1/2 x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 y) (/.f64 1/4 x)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 y (/.f64 1/2 x))) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1 y) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1/2 x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 x) (*.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 y (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 2 y)) (*.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 1/2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (+.f64 x x)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 y (/.f64 x (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 y (+.f64 x x)) (/.f64 (/.f64 1 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x y) (*.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y x) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 y) (*.f64 x (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (+.f64 y y)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 x y)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 x (+.f64 y y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y (+.f64 x x)) (/.f64 (/.f64 1 y) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) (*.f64 1/2 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 y) (*.f64 y x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 x (neg.f64 (+.f64 y y))) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x . x)))))

simplify112.0ms (1.3%)

Algorithm
egg-herbie
Rules
1418×rational.json-simplify-35
1190×rational.json-simplify-2
1056×rational.json-simplify-1
774×rational.json-simplify-54
726×rational.json-simplify-39
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0140695
1272695
2663695
32158695
44580695
56791695
Stop Event
node limit
Counts
131 → 92
Calls
Call 1
Inputs
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 0 (/.f64 1/2 x))
(+.f64 (/.f64 1/2 x) 0)
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 1/2 x))))
(+.f64 (/.f64 1/4 x) (/.f64 1/4 x))
(-.f64 0 (neg.f64 (/.f64 1/2 x)))
(-.f64 0 (/.f64 -1/2 x))
(-.f64 (/.f64 1/2 x) 0)
(*.f64 1/2 (/.f64 1 x))
(*.f64 y (/.f64 1/2 (*.f64 y x)))
(*.f64 y (*.f64 (/.f64 1 y) (/.f64 1/2 x)))
(*.f64 (/.f64 1/2 y) (/.f64 y x))
(*.f64 1 (/.f64 1/2 x))
(*.f64 (/.f64 1 x) 1/2)
(*.f64 (/.f64 1 y) (*.f64 y (/.f64 1/2 x)))
(*.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 y x)))
(*.f64 (+.f64 y y) (/.f64 1/2 (*.f64 y (+.f64 x x))))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 y) (/.f64 1/4 x)))
(*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 (*.f64 y x))))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1/2 y) (/.f64 1/2 x)))
(*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 1 y))
(*.f64 (*.f64 y 4) (*.f64 (/.f64 1/2 y) (/.f64 1/4 x)))
(*.f64 2 (/.f64 1/4 x))
(*.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 y (/.f64 1/2 x))))
(*.f64 2 (*.f64 (/.f64 y x) (/.f64 (/.f64 1 y) 4)))
(*.f64 (/.f64 2 y) (*.f64 1/2 (*.f64 y (/.f64 1/2 x))))
(*.f64 (neg.f64 (/.f64 1/2 x)) -1)
(*.f64 (/.f64 y x) (/.f64 1/2 y))
(*.f64 (/.f64 1/2 x) 1)
(*.f64 (/.f64 1/2 (*.f64 y x)) y)
(*.f64 4 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1 y) 4)))
(*.f64 (/.f64 -1/2 x) -1)
(*.f64 (*.f64 1/2 (/.f64 y x)) (/.f64 1 y))
(*.f64 (/.f64 1/2 (*.f64 y (+.f64 x x))) (+.f64 y y))
(*.f64 (/.f64 1/4 x) 2)
(*.f64 (*.f64 (/.f64 1 y) (/.f64 1/2 x)) y)
(*.f64 (*.f64 (/.f64 1 y) (/.f64 1/4 x)) (+.f64 y y))
(*.f64 (*.f64 (/.f64 1/2 y) (*.f64 y (/.f64 1/2 x))) 2)
(*.f64 (*.f64 (/.f64 y x) (/.f64 (/.f64 1 y) 4)) 2)
(*.f64 (*.f64 1/2 (/.f64 1/2 (*.f64 y x))) (+.f64 y y))
(*.f64 (*.f64 (/.f64 1/2 y) (/.f64 1/2 x)) (+.f64 y y))
(*.f64 (*.f64 (/.f64 1/2 y) (/.f64 1/4 x)) (*.f64 y 4))
(*.f64 (*.f64 1/2 (*.f64 y (/.f64 1/2 x))) (/.f64 2 y))
(*.f64 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1 y) 4)) 4)
(pow.f64 (/.f64 1/2 x) 1)
(neg.f64 (neg.f64 (/.f64 1/2 x)))
(neg.f64 (/.f64 -1/2 x))
(+.f64 x 0)
(+.f64 0 x)
(+.f64 -1 (-.f64 1 (neg.f64 x)))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 x))
(-.f64 x 0)
(-.f64 0 (neg.f64 x))
(*.f64 1/2 (+.f64 x x))
(*.f64 y (/.f64 x y))
(*.f64 (/.f64 1/2 y) (*.f64 y (+.f64 x x)))
(*.f64 x 1)
(*.f64 (/.f64 x y) y)
(*.f64 1 x)
(*.f64 (/.f64 1 y) (*.f64 y x))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 1/2 y))
(*.f64 (+.f64 y y) (/.f64 x (+.f64 y y)))
(*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 x y)))
(*.f64 (*.f64 y (+.f64 x x)) (/.f64 1/2 y))
(*.f64 2 (*.f64 1/2 x))
(*.f64 2 (*.f64 y (/.f64 x (+.f64 y y))))
(*.f64 2 (*.f64 (*.f64 y (+.f64 x x)) (/.f64 (/.f64 1 y) 4)))
(*.f64 2 (*.f64 (/.f64 x y) (*.f64 1/2 y)))
(*.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 y x)))
(*.f64 (+.f64 x x) 1/2)
(*.f64 (*.f64 y x) (/.f64 1 y))
(*.f64 (*.f64 1/2 y) (*.f64 x (/.f64 2 y)))
(*.f64 (neg.f64 x) -1)
(*.f64 -1 (neg.f64 x))
(*.f64 (/.f64 x (+.f64 y y)) (+.f64 y y))
(*.f64 (*.f64 1/2 (/.f64 x y)) (+.f64 y y))
(*.f64 (*.f64 1/2 x) 2)
(*.f64 (*.f64 y (/.f64 x (+.f64 y y))) 2)
(*.f64 (*.f64 (*.f64 y (+.f64 x x)) (/.f64 (/.f64 1 y) 4)) 2)
(*.f64 (*.f64 (/.f64 x y) (*.f64 1/2 y)) 2)
(*.f64 (*.f64 (/.f64 1/2 y) (*.f64 y x)) 2)
(pow.f64 x 1)
(neg.f64 (neg.f64 x))
(neg.f64 (/.f64 (/.f64 x (neg.f64 (+.f64 y y))) (/.f64 1/2 y)))
Outputs
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 0 (/.f64 1/2 x))
(/.f64 1/2 x)
(+.f64 (/.f64 1/2 x) 0)
(/.f64 1/2 x)
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 1/2 x))))
(/.f64 1/2 x)
(+.f64 (/.f64 1/4 x) (/.f64 1/4 x))
(/.f64 1/2 x)
(-.f64 0 (neg.f64 (/.f64 1/2 x)))
(/.f64 1/2 x)
(-.f64 0 (/.f64 -1/2 x))
(/.f64 1/2 x)
(-.f64 (/.f64 1/2 x) 0)
(/.f64 1/2 x)
(*.f64 1/2 (/.f64 1 x))
(/.f64 1/2 x)
(*.f64 y (/.f64 1/2 (*.f64 y x)))
(/.f64 1/2 x)
(*.f64 y (*.f64 (/.f64 1 y) (/.f64 1/2 x)))
(/.f64 1/2 x)
(*.f64 (/.f64 1/2 y) (/.f64 y x))
(/.f64 1/2 x)
(*.f64 1 (/.f64 1/2 x))
(/.f64 1/2 x)
(*.f64 (/.f64 1 x) 1/2)
(/.f64 1/2 x)
(*.f64 (/.f64 1 y) (*.f64 y (/.f64 1/2 x)))
(/.f64 1/2 x)
(*.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 y x)))
(/.f64 1/2 x)
(*.f64 (+.f64 y y) (/.f64 1/2 (*.f64 y (+.f64 x x))))
(/.f64 1/2 x)
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 y) (/.f64 1/4 x)))
(/.f64 1/2 x)
(*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 (*.f64 y x))))
(/.f64 1/2 x)
(*.f64 (+.f64 y y) (*.f64 (/.f64 1/2 y) (/.f64 1/2 x)))
(/.f64 1/2 x)
(*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 1 y))
(/.f64 1/2 x)
(*.f64 (*.f64 y 4) (*.f64 (/.f64 1/2 y) (/.f64 1/4 x)))
(*.f64 (/.f64 1/2 y) (*.f64 (/.f64 1/4 x) (*.f64 y 4)))
(*.f64 (/.f64 1/4 x) (*.f64 (*.f64 y 4) (/.f64 1/2 y)))
(*.f64 (/.f64 1/4 x) (*.f64 y (*.f64 (/.f64 1/2 y) 4)))
(*.f64 y (*.f64 (/.f64 1/4 x) (*.f64 (/.f64 1/2 y) 4)))
(*.f64 2 (/.f64 1/4 x))
(/.f64 1/2 x)
(*.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 y (/.f64 1/2 x))))
(/.f64 1/2 x)
(*.f64 2 (*.f64 (/.f64 y x) (/.f64 (/.f64 1 y) 4)))
(/.f64 1/2 x)
(*.f64 (/.f64 2 y) (*.f64 1/2 (*.f64 y (/.f64 1/2 x))))
(*.f64 1/2 (*.f64 (*.f64 (/.f64 1/2 x) y) (/.f64 2 y)))
(*.f64 y (*.f64 (/.f64 2 y) (*.f64 (/.f64 -1/2 x) -1/2)))
(*.f64 1/2 (*.f64 (/.f64 1/2 x) (*.f64 y (/.f64 2 y))))
(*.f64 (neg.f64 (/.f64 1/2 x)) -1)
(/.f64 1/2 x)
(*.f64 (/.f64 y x) (/.f64 1/2 y))
(/.f64 1/2 x)
(*.f64 (/.f64 1/2 x) 1)
(/.f64 1/2 x)
(*.f64 (/.f64 1/2 (*.f64 y x)) y)
(/.f64 1/2 x)
(*.f64 4 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1 y) 4)))
(*.f64 (/.f64 1/2 y) (*.f64 (/.f64 1/4 x) (*.f64 y 4)))
(*.f64 (/.f64 1/4 x) (*.f64 (*.f64 y 4) (/.f64 1/2 y)))
(*.f64 (/.f64 1/4 x) (*.f64 y (*.f64 (/.f64 1/2 y) 4)))
(*.f64 y (*.f64 (/.f64 1/4 x) (*.f64 (/.f64 1/2 y) 4)))
(*.f64 (/.f64 -1/2 x) -1)
(/.f64 1/2 x)
(*.f64 (*.f64 1/2 (/.f64 y x)) (/.f64 1 y))
(/.f64 1/2 x)
(*.f64 (/.f64 1/2 (*.f64 y (+.f64 x x))) (+.f64 y y))
(/.f64 1/2 x)
(*.f64 (/.f64 1/4 x) 2)
(/.f64 1/2 x)
(*.f64 (*.f64 (/.f64 1 y) (/.f64 1/2 x)) y)
(/.f64 1/2 x)
(*.f64 (*.f64 (/.f64 1 y) (/.f64 1/4 x)) (+.f64 y y))
(/.f64 1/2 x)
(*.f64 (*.f64 (/.f64 1/2 y) (*.f64 y (/.f64 1/2 x))) 2)
(/.f64 1/2 x)
(*.f64 (*.f64 (/.f64 y x) (/.f64 (/.f64 1 y) 4)) 2)
(/.f64 1/2 x)
(*.f64 (*.f64 1/2 (/.f64 1/2 (*.f64 y x))) (+.f64 y y))
(/.f64 1/2 x)
(*.f64 (*.f64 (/.f64 1/2 y) (/.f64 1/2 x)) (+.f64 y y))
(/.f64 1/2 x)
(*.f64 (*.f64 (/.f64 1/2 y) (/.f64 1/4 x)) (*.f64 y 4))
(*.f64 (/.f64 1/2 y) (*.f64 (/.f64 1/4 x) (*.f64 y 4)))
(*.f64 (/.f64 1/4 x) (*.f64 (*.f64 y 4) (/.f64 1/2 y)))
(*.f64 (/.f64 1/4 x) (*.f64 y (*.f64 (/.f64 1/2 y) 4)))
(*.f64 y (*.f64 (/.f64 1/4 x) (*.f64 (/.f64 1/2 y) 4)))
(*.f64 (*.f64 1/2 (*.f64 y (/.f64 1/2 x))) (/.f64 2 y))
(*.f64 1/2 (*.f64 (*.f64 (/.f64 1/2 x) y) (/.f64 2 y)))
(*.f64 y (*.f64 (/.f64 2 y) (*.f64 (/.f64 -1/2 x) -1/2)))
(*.f64 1/2 (*.f64 (/.f64 1/2 x) (*.f64 y (/.f64 2 y))))
(*.f64 (*.f64 (*.f64 y (/.f64 1/2 x)) (/.f64 (/.f64 1 y) 4)) 4)
(*.f64 (/.f64 1/2 y) (*.f64 (/.f64 1/4 x) (*.f64 y 4)))
(*.f64 (/.f64 1/4 x) (*.f64 (*.f64 y 4) (/.f64 1/2 y)))
(*.f64 (/.f64 1/4 x) (*.f64 y (*.f64 (/.f64 1/2 y) 4)))
(*.f64 y (*.f64 (/.f64 1/4 x) (*.f64 (/.f64 1/2 y) 4)))
(pow.f64 (/.f64 1/2 x) 1)
(/.f64 1/2 x)
(neg.f64 (neg.f64 (/.f64 1/2 x)))
(/.f64 1/2 x)
(neg.f64 (/.f64 -1/2 x))
(/.f64 1/2 x)
(+.f64 x 0)
x
(+.f64 0 x)
x
(+.f64 -1 (-.f64 1 (neg.f64 x)))
x
(+.f64 (*.f64 1/2 x) (*.f64 1/2 x))
x
(-.f64 x 0)
x
(-.f64 0 (neg.f64 x))
x
(*.f64 1/2 (+.f64 x x))
x
(*.f64 y (/.f64 x y))
x
(*.f64 (/.f64 1/2 y) (*.f64 y (+.f64 x x)))
x
(*.f64 x 1)
x
(*.f64 (/.f64 x y) y)
x
(*.f64 1 x)
x
(*.f64 (/.f64 1 y) (*.f64 y x))
x
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 1/2 y))
x
(*.f64 (+.f64 y y) (/.f64 x (+.f64 y y)))
x
(*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 x y)))
x
(*.f64 (*.f64 y (+.f64 x x)) (/.f64 1/2 y))
x
(*.f64 2 (*.f64 1/2 x))
x
(*.f64 2 (*.f64 y (/.f64 x (+.f64 y y))))
x
(*.f64 2 (*.f64 (*.f64 y (+.f64 x x)) (/.f64 (/.f64 1 y) 4)))
x
(*.f64 2 (*.f64 (/.f64 x y) (*.f64 1/2 y)))
x
(*.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 y x)))
x
(*.f64 (+.f64 x x) 1/2)
x
(*.f64 (*.f64 y x) (/.f64 1 y))
x
(*.f64 (*.f64 1/2 y) (*.f64 x (/.f64 2 y)))
x
(*.f64 (neg.f64 x) -1)
x
(*.f64 -1 (neg.f64 x))
x
(*.f64 (/.f64 x (+.f64 y y)) (+.f64 y y))
x
(*.f64 (*.f64 1/2 (/.f64 x y)) (+.f64 y y))
x
(*.f64 (*.f64 1/2 x) 2)
x
(*.f64 (*.f64 y (/.f64 x (+.f64 y y))) 2)
x
(*.f64 (*.f64 (*.f64 y (+.f64 x x)) (/.f64 (/.f64 1 y) 4)) 2)
x
(*.f64 (*.f64 (/.f64 x y) (*.f64 1/2 y)) 2)
x
(*.f64 (*.f64 (/.f64 1/2 y) (*.f64 y x)) 2)
x
(pow.f64 x 1)
x
(neg.f64 (neg.f64 x))
x
(neg.f64 (/.f64 (/.f64 x (neg.f64 (+.f64 y y))) (/.f64 1/2 y)))
x

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
7.4b
(/.f64 (sin.f64 y) (/.f64 y x))
Compiler

Compiled 15 to 5 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite78.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
16217
220217
363217
4229317
5593217
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(/.f64 (sin.f64 y) (/.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 (/.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 (+.f64 y y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (/.f64 x y) 2) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (*.f64 2 (/.f64 x y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 (/.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 -1 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (/.f64 1 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 x (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) (*.f64 2 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) 2) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 1/2) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 x)) (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 1 (sin.f64 y))) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 y x) 4)) (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 y (sin.f64 y))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))))))

simplify102.0ms (1.2%)

Algorithm
egg-herbie
Rules
1348×rational.json-simplify-35
1298×rational.json-simplify-2
1084×rational.json-simplify-1
720×rational.json-simplify-55
656×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01221359
12661335
25761335
318481323
443771323
564901323
Stop Event
node limit
Counts
71 → 71
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(+.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 (/.f64 x y) 2))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 (+.f64 y y)) x))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))
(*.f64 2 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2))
(*.f64 2 (*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) x))
(*.f64 2 (*.f64 (/.f64 (/.f64 x y) 2) (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) (*.f64 2 (/.f64 x y))) 1/2)
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 (/.f64 y x) 4)))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 y x)))
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 y (sin.f64 y))))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (/.f64 1 x)))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (/.f64 x y) (/.f64 1 (/.f64 1 (sin.f64 y))))
(*.f64 -1 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))
(*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 1 x)))
(*.f64 (/.f64 1 y) (/.f64 x (/.f64 1 (sin.f64 y))))
(*.f64 1/2 (*.f64 (sin.f64 y) (*.f64 2 (/.f64 x y))))
(*.f64 (/.f64 (/.f64 x y) 2) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))
(*.f64 (*.f64 (/.f64 x y) 1/2) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))) -1)
(*.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) (/.f64 1 y))
(*.f64 (/.f64 x (/.f64 1 (sin.f64 y))) (/.f64 1 y))
(*.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) 2)
(*.f64 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))) 2)
(*.f64 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 y x) 4)) (*.f64 (sin.f64 y) 4))
(*.f64 (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)) (*.f64 x 4))
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 -1 (/.f64 y (sin.f64 y))) (neg.f64 x))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(neg.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))
Outputs
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6)))
(+.f64 x (*.f64 x (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6))))
(+.f64 x (+.f64 (*.f64 x (*.f64 (pow.f64 y 4) 1/120)) (*.f64 x (*.f64 -1/6 (pow.f64 y 2)))))
(+.f64 x (+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 x (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 -1/6 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 (+.f64 x (*.f64 (pow.f64 y 6) (*.f64 x -1/5040))) (*.f64 (pow.f64 y 2) (*.f64 x -1/6))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (+.f64 x (+.f64 (*.f64 x (*.f64 (pow.f64 y 6) -1/5040)) (*.f64 x (*.f64 (pow.f64 y 4) 1/120)))))
(+.f64 x (+.f64 (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (*.f64 x (*.f64 -1/5040 (pow.f64 y 6)))) (*.f64 x (*.f64 -1/6 (pow.f64 y 2)))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (+.f64 x (*.f64 x (+.f64 (*.f64 -1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4))))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (+.f64 x (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 -1/5040 (pow.f64 y 6))))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 0 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(+.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(-.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 1 (*.f64 (sin.f64 y) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 (/.f64 x y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 (+.f64 y y)) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 2 (*.f64 (/.f64 (/.f64 x y) 2) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) (*.f64 2 (/.f64 x y))) 1/2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 (/.f64 y x) 4)))
(*.f64 (*.f64 4 (sin.f64 y)) (/.f64 (/.f64 1 (/.f64 y x)) 4))
(*.f64 4 (*.f64 (/.f64 1/4 (/.f64 y x)) (sin.f64 y)))
(*.f64 (*.f64 4 (sin.f64 y)) (/.f64 x (/.f64 y 1/4)))
(*.f64 4 (*.f64 (sin.f64 y) (/.f64 x (*.f64 y 4))))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 4 (/.f64 y (sin.f64 y)))))
(*.f64 4 (*.f64 x (/.f64 1/4 (/.f64 y (sin.f64 y)))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (/.f64 y 1/4))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x y) (/.f64 1 (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 -1 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 y) (/.f64 x (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 1/2 (*.f64 (sin.f64 y) (*.f64 2 (/.f64 x y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (/.f64 x y) 2) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (*.f64 (/.f64 x y) 1/2) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 (sin.f64 y) y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) (/.f64 1 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (/.f64 1 (sin.f64 y))) (/.f64 1 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x (*.f64 y (/.f64 2 (sin.f64 y)))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 2) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 1 (*.f64 (/.f64 y x) 4)) (*.f64 (sin.f64 y) 4))
(*.f64 (*.f64 4 (sin.f64 y)) (/.f64 (/.f64 1 (/.f64 y x)) 4))
(*.f64 4 (*.f64 (/.f64 1/4 (/.f64 y x)) (sin.f64 y)))
(*.f64 (*.f64 4 (sin.f64 y)) (/.f64 x (/.f64 y 1/4)))
(*.f64 4 (*.f64 (sin.f64 y) (/.f64 x (*.f64 y 4))))
(*.f64 (/.f64 1 (*.f64 (/.f64 y (sin.f64 y)) 4)) (*.f64 x 4))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 4 (/.f64 y (sin.f64 y)))))
(*.f64 4 (*.f64 x (/.f64 1/4 (/.f64 y (sin.f64 y)))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (/.f64 y 1/4))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 -1 (/.f64 y (sin.f64 y))) (neg.f64 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(pow.f64 (*.f64 (sin.f64 y) (/.f64 x y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(neg.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sin.f64 y) y)
0.2b
(/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y))
13.8b
(*.f64 y (/.f64 (sin.f64 y) (/.f64 y (/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y)))))
15.1b
(/.f64 (sin.f64 y) (/.f64 y (/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y))))
Compiler

Compiled 68 to 9 computations (86.8% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite70.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1364×rational.json-simplify-50
1220×rational.json-simplify-2
1218×exponential.json-3
1218×rational.json-1
1218×rational.json-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
010101
184101
232647
3160047
4416547
Stop Event
node limit
Counts
3 → 83
Calls
Call 1
Inputs
(/.f64 (sin.f64 y) (/.f64 y (/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y))))
(*.f64 y (/.f64 (sin.f64 y) (/.f64 y (/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y)))))
(/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 y) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 (/.f64 1 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 y) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 (/.f64 (/.f64 1 y) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 (/.f64 1 y) y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 y) (/.f64 1 (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (/.f64 1 (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (/.f64 (sin.f64 y) y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 1 (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 1 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) y)) (/.f64 (/.f64 1 y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 y y))) (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 y) y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 y y)) (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (/.f64 1 y) y) 2) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (/.f64 2 (sin.f64 y)))) (*.f64 2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 1 y) y) 1/2) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (*.f64 2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2)))) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 (sin.f64 y) 2))) (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) (/.f64 1 (+.f64 y y))) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (*.f64 y (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 y y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 (sin.f64 y) (*.f64 y y))) (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (/.f64 (*.f64 (/.f64 y (sin.f64 y)) (neg.f64 (sin.f64 y))) (neg.f64 (/.f64 (sin.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (neg.f64 (*.f64 (/.f64 y (sin.f64 y)) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 y (*.f64 y (/.f64 2 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 y) (*.f64 y y)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 2 y)) (*.f64 2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (/.f64 (sin.f64 y) y) (/.f64 2 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (neg.f64 (*.f64 y (/.f64 y (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 y y)) (-.f64 0 (*.f64 y (*.f64 y (/.f64 2 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))) (neg.f64 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 2 y))) (neg.f64 (*.f64 2 (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 (/.f64 1 y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (*.f64 (/.f64 1 y) (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 1 (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 1 (sin.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2))) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (sin.f64 y) 2)) (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (sin.f64 y)) 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) (/.f64 1 (sin.f64 y))) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (+.f64 y y))) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) 1/2) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 1 y)))))))

simplify98.0ms (1.2%)

Algorithm
egg-herbie
Rules
1028×rational.json-simplify-44
990×rational.json-simplify-61
986×rational.json-simplify-35
892×rational.json-simplify-43
886×rational.json-simplify-47
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01821599
14741599
214391587
364261577
Stop Event
node limit
Counts
119 → 109
Calls
Call 1
Inputs
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1/6 y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1/6 y) (*.f64 1/120 (pow.f64 y 3))))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1/6 y) (+.f64 (*.f64 1/120 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 5)))))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
1
(+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 (*.f64 -1/5040 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(+.f64 0 (/.f64 (sin.f64 y) (*.f64 y y)))
(+.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 0)
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y)))))
(-.f64 0 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))))
(-.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 0)
(*.f64 (sin.f64 y) (/.f64 (/.f64 1 y) y))
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 y))
(*.f64 1 (/.f64 (sin.f64 y) (*.f64 y y)))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 (/.f64 (/.f64 1 y) y) 2))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 (/.f64 1 y) y) 1/2))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2)))))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 y) (/.f64 1 (+.f64 y y))))
(*.f64 (*.f64 2 (/.f64 1 y)) (/.f64 1 (*.f64 y (/.f64 2 (sin.f64 y)))))
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 1 (+.f64 y y)))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 1 y) 1/2))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 (sin.f64 y) 2))))
(*.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 1)
(*.f64 (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) y)) (/.f64 (/.f64 1 y) (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 y y))) (/.f64 1 (sin.f64 y)))
(*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 1 (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 y y))))
(*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) y)))
(*.f64 (/.f64 (/.f64 1 y) y) (sin.f64 y))
(*.f64 (/.f64 1 (+.f64 y y)) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (/.f64 (/.f64 (/.f64 1 y) y) 2) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 1 (*.f64 y (/.f64 2 (sin.f64 y)))) (*.f64 2 (/.f64 1 y)))
(*.f64 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))) -1)
(*.f64 (*.f64 (/.f64 (/.f64 1 y) y) 1/2) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (*.f64 2 (/.f64 1 y)))
(*.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2)))) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 (sin.f64 y) 2))) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (*.f64 (/.f64 1 y) (/.f64 1 (+.f64 y y))) (*.f64 (sin.f64 y) 2))
(pow.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 1)
(neg.f64 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))))
(+.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 0)
(+.f64 0 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))))
(-.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 0)
(/.f64 y (*.f64 y (/.f64 y (sin.f64 y))))
(/.f64 y (/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 y y)))) 2))
(/.f64 y (/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 (sin.f64 y) (*.f64 y y))) (*.f64 (sin.f64 y) 2)))
(/.f64 y (/.f64 (*.f64 (/.f64 y (sin.f64 y)) (neg.f64 (sin.f64 y))) (neg.f64 (/.f64 (sin.f64 y) y))))
(/.f64 y (neg.f64 (*.f64 (/.f64 y (sin.f64 y)) (neg.f64 y))))
(/.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 1)
(/.f64 (+.f64 y y) (*.f64 y (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (/.f64 (sin.f64 y) (*.f64 y y)) (/.f64 1 y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 2 y)) (*.f64 2 (/.f64 1 y)))
(/.f64 (*.f64 y (*.f64 (/.f64 (sin.f64 y) y) (/.f64 2 y))) 2)
(/.f64 (neg.f64 y) (neg.f64 (*.f64 y (/.f64 y (sin.f64 y)))))
(/.f64 (*.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 4) 4)
(/.f64 (neg.f64 (+.f64 y y)) (-.f64 0 (*.f64 y (*.f64 y (/.f64 2 (sin.f64 y))))))
(/.f64 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))) (neg.f64 (/.f64 1 y)))
(/.f64 (*.f64 2 (*.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 4)) 8)
(/.f64 (neg.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 2 y))) (neg.f64 (*.f64 2 (/.f64 1 y))))
(pow.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 1)
(+.f64 0 (/.f64 1 y))
(+.f64 (/.f64 1 y) 0)
(-.f64 0 (neg.f64 (/.f64 1 y)))
(-.f64 (/.f64 1 y) 0)
(*.f64 (sin.f64 y) (/.f64 (/.f64 1 y) (sin.f64 y)))
(*.f64 (sin.f64 y) (*.f64 (/.f64 1 y) (/.f64 1 (sin.f64 y))))
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (sin.f64 y)))
(*.f64 1 (/.f64 1 y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2))))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (+.f64 y y))))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) 1/2))
(*.f64 (*.f64 2 (/.f64 1 y)) 1/2)
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 1 (*.f64 (sin.f64 y) 2)))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 1 (sin.f64 y)) 1/2))
(*.f64 (/.f64 1 y) 1)
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) (sin.f64 y))
(*.f64 (neg.f64 (/.f64 1 y)) -1)
(*.f64 (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2))) (*.f64 (sin.f64 y) 2))
(*.f64 1/2 (*.f64 2 (/.f64 1 y)))
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) 2)) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(*.f64 (*.f64 (/.f64 1 y) (/.f64 1 (sin.f64 y))) (sin.f64 y))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (+.f64 y y))) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) 1/2) (*.f64 (sin.f64 y) 2))
(pow.f64 (/.f64 1 y) 1)
(neg.f64 (neg.f64 (/.f64 1 y)))
Outputs
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1/6 y))
(+.f64 (/.f64 1 y) (*.f64 y -1/6))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1/6 y) (*.f64 1/120 (pow.f64 y 3))))
(+.f64 (*.f64 y -1/6) (+.f64 (*.f64 1/120 (pow.f64 y 3)) (/.f64 1 y)))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 y -1/6) (*.f64 1/120 (pow.f64 y 3))))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1/6 y) (+.f64 (*.f64 1/120 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 5)))))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 y -1/6) (+.f64 (*.f64 1/120 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 5)))))
(+.f64 (+.f64 (*.f64 1/120 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 5))) (+.f64 (/.f64 1 y) (*.f64 y -1/6)))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1/5040 (pow.f64 y 5)) (+.f64 (*.f64 y -1/6) (*.f64 1/120 (pow.f64 y 3)))))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
(/.f64 (sin.f64 y) (pow.f64 y 2))
1
(+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 (*.f64 -1/5040 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(+.f64 (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))) (*.f64 -1/5040 (pow.f64 y 6)))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))) (+.f64 (*.f64 -1/5040 (pow.f64 y 6)) 1))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 -1/5040 (pow.f64 y 6)))))
(+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (+.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 -1/5040 (pow.f64 y 6)))))
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 (sin.f64 y) y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(/.f64 1 y)
(+.f64 0 (/.f64 (sin.f64 y) (*.f64 y y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(+.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 0)
(/.f64 (sin.f64 y) (*.f64 y y))
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y)))))
(/.f64 (sin.f64 y) (*.f64 y y))
(-.f64 0 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))))
(/.f64 (sin.f64 y) (*.f64 y y))
(-.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 0)
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (sin.f64 y) (/.f64 (/.f64 1 y) y))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 y))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 1 (/.f64 (sin.f64 y) (*.f64 y y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 (/.f64 (/.f64 1 y) y) 2))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 (/.f64 1 y) y) 1/2))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2)))))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 y) (/.f64 1 (+.f64 y y))))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 2 (/.f64 1 y)) (/.f64 1 (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 1 (+.f64 y y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 1 y) 1/2))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 (sin.f64 y) 2))))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 1)
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) y)) (/.f64 (/.f64 1 y) (sin.f64 y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 y y))) (/.f64 1 (sin.f64 y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) y))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (/.f64 1 (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 y y))))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (/.f64 (/.f64 1 y) y) (sin.f64 y))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (/.f64 1 (+.f64 y y)) (*.f64 (sin.f64 y) (/.f64 2 y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (/.f64 (/.f64 (/.f64 1 y) y) 2) (*.f64 (sin.f64 y) 2))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (/.f64 1 (*.f64 y (/.f64 2 (sin.f64 y)))) (*.f64 2 (/.f64 1 y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))) -1)
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (/.f64 (/.f64 1 y) y) 1/2) (*.f64 (sin.f64 y) 2))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (*.f64 2 (/.f64 1 y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2)))) (*.f64 (sin.f64 y) 2))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (*.f64 (sin.f64 y) 2))) (*.f64 (sin.f64 y) (/.f64 2 y)))
(/.f64 (sin.f64 y) (*.f64 y y))
(*.f64 (*.f64 (/.f64 1 y) (/.f64 1 (+.f64 y y))) (*.f64 (sin.f64 y) 2))
(/.f64 (sin.f64 y) (*.f64 y y))
(pow.f64 (/.f64 (sin.f64 y) (*.f64 y y)) 1)
(/.f64 (sin.f64 y) (*.f64 y y))
(neg.f64 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))))
(/.f64 (sin.f64 y) (*.f64 y y))
(+.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 0)
(/.f64 (sin.f64 y) y)
(+.f64 0 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))))
(/.f64 (sin.f64 y) y)
(-.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 0)
(/.f64 (sin.f64 y) y)
(/.f64 y (*.f64 y (/.f64 y (sin.f64 y))))
(/.f64 (sin.f64 y) y)
(/.f64 y (/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (*.f64 (sin.f64 y) (/.f64 (sin.f64 y) (*.f64 y y)))) 2))
(/.f64 (sin.f64 y) y)
(/.f64 y (/.f64 (/.f64 (*.f64 (sin.f64 y) 2) (/.f64 (sin.f64 y) (*.f64 y y))) (*.f64 (sin.f64 y) 2)))
(/.f64 (sin.f64 y) y)
(/.f64 y (/.f64 (*.f64 (/.f64 y (sin.f64 y)) (neg.f64 (sin.f64 y))) (neg.f64 (/.f64 (sin.f64 y) y))))
(/.f64 y (*.f64 (neg.f64 (sin.f64 y)) (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 (/.f64 (sin.f64 y) y)))))
(/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (*.f64 (/.f64 y (sin.f64 y)) (/.f64 (sin.f64 y) (neg.f64 y))))
(/.f64 (/.f64 (/.f64 1 y) (/.f64 y (neg.f64 (sin.f64 y)))) (/.f64 -1 y))
(/.f64 (/.f64 1 y) (/.f64 y (*.f64 y (sin.f64 y))))
(/.f64 y (neg.f64 (*.f64 (/.f64 y (sin.f64 y)) (neg.f64 y))))
(/.f64 (sin.f64 y) y)
(/.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 1)
(/.f64 (sin.f64 y) y)
(/.f64 (+.f64 y y) (*.f64 y (*.f64 y (/.f64 2 (sin.f64 y)))))
(/.f64 (sin.f64 y) y)
(/.f64 (/.f64 (sin.f64 y) (*.f64 y y)) (/.f64 1 y))
(/.f64 (sin.f64 y) y)
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 2 y)) (*.f64 2 (/.f64 1 y)))
(/.f64 (sin.f64 y) y)
(/.f64 (*.f64 y (*.f64 (/.f64 (sin.f64 y) y) (/.f64 2 y))) 2)
(/.f64 (sin.f64 y) y)
(/.f64 (neg.f64 y) (neg.f64 (*.f64 y (/.f64 y (sin.f64 y)))))
(/.f64 (sin.f64 y) y)
(/.f64 (*.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 4) 4)
(/.f64 (sin.f64 y) y)
(/.f64 (neg.f64 (+.f64 y y)) (-.f64 0 (*.f64 y (*.f64 y (/.f64 2 (sin.f64 y))))))
(/.f64 (sin.f64 y) y)
(/.f64 (neg.f64 (/.f64 (sin.f64 y) (*.f64 y y))) (neg.f64 (/.f64 1 y)))
(/.f64 (sin.f64 y) y)
(/.f64 (*.f64 2 (*.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 4)) 8)
(/.f64 (sin.f64 y) y)
(/.f64 (neg.f64 (*.f64 (/.f64 (sin.f64 y) y) (/.f64 2 y))) (neg.f64 (*.f64 2 (/.f64 1 y))))
(/.f64 (sin.f64 y) y)
(pow.f64 (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))) 1)
(/.f64 (sin.f64 y) y)
(+.f64 0 (/.f64 1 y))
(/.f64 1 y)
(+.f64 (/.f64 1 y) 0)
(/.f64 1 y)
(-.f64 0 (neg.f64 (/.f64 1 y)))
(/.f64 1 y)
(-.f64 (/.f64 1 y) 0)
(/.f64 1 y)
(*.f64 (sin.f64 y) (/.f64 (/.f64 1 y) (sin.f64 y)))
(/.f64 1 y)
(*.f64 (sin.f64 y) (*.f64 (/.f64 1 y) (/.f64 1 (sin.f64 y))))
(/.f64 1 y)
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (sin.f64 y)))
(/.f64 1 y)
(*.f64 1 (/.f64 1 y))
(/.f64 1 y)
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2))))
(/.f64 1 y)
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (+.f64 y y))))
(/.f64 1 y)
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) 1/2))
(/.f64 1 y)
(*.f64 (*.f64 2 (/.f64 1 y)) 1/2)
(/.f64 1 y)
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (/.f64 1 (*.f64 (sin.f64 y) 2)))
(/.f64 1 y)
(*.f64 (*.f64 (sin.f64 y) (/.f64 2 y)) (*.f64 (/.f64 1 (sin.f64 y)) 1/2))
(/.f64 1 y)
(*.f64 (/.f64 1 y) 1)
(/.f64 1 y)
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 (sin.f64 y) y))
(/.f64 1 y)
(*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) (sin.f64 y))
(/.f64 1 y)
(*.f64 (neg.f64 (/.f64 1 y)) -1)
(/.f64 1 y)
(*.f64 (/.f64 1 (*.f64 y (*.f64 (sin.f64 y) 2))) (*.f64 (sin.f64 y) 2))
(/.f64 1 y)
(*.f64 1/2 (*.f64 2 (/.f64 1 y)))
(/.f64 1 y)
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) 2)) (*.f64 (sin.f64 y) (/.f64 2 y)))
(/.f64 1 y)
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) 1/2) (*.f64 (sin.f64 y) (/.f64 2 y)))
(/.f64 1 y)
(*.f64 (*.f64 (/.f64 1 y) (/.f64 1 (sin.f64 y))) (sin.f64 y))
(/.f64 1 y)
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) (/.f64 1 (+.f64 y y))) (*.f64 (sin.f64 y) 2))
(/.f64 1 y)
(*.f64 (*.f64 (/.f64 (/.f64 1 y) (sin.f64 y)) 1/2) (*.f64 (sin.f64 y) 2))
(/.f64 1 y)
(pow.f64 (/.f64 1 y) 1)
(/.f64 1 y)
(neg.f64 (neg.f64 (/.f64 1 y)))
(/.f64 1 y)

eval609.0ms (7.3%)

Compiler

Compiled 7504 to 3871 computations (48.4% saved)

prune108.0ms (1.3%)

Pruning

24 alts after pruning (16 fresh and 8 done)

PrunedKeptTotal
New54112553
Fresh044
Picked101
Done2810
Total54424568
Error
0b
Counts
568 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
7.5b
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
33.2b
(/.f64 (/.f64 x y) (/.f64 1 y))
31.5b
(/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))
7.4b
(/.f64 (*.f64 (sin.f64 y) x) y)
40.3b
(/.f64 (*.f64 y x) y)
7.9b
(/.f64 (sin.f64 y) (/.f64 y x))
0.1b
(/.f64 x (/.f64 y (sin.f64 y)))
7.9b
(/.f64 1 (/.f64 (/.f64 y x) (sin.f64 y)))
32.9b
(/.f64 1 (/.f64 1 x))
31.5b
(/.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (/.f64 x y)))
31.5b
(/.f64 1/2 (*.f64 (/.f64 y x) (/.f64 1/2 y)))
40.4b
(/.f64 1/2 (*.f64 (/.f64 1/2 (*.f64 y x)) y))
38.1b
(+.f64 -1 (-.f64 1 (neg.f64 x)))
33.1b
(*.f64 (/.f64 x y) y)
40.3b
(*.f64 (/.f64 1 y) (*.f64 y x))
42.1b
(*.f64 (/.f64 1 x) (*.f64 x x))
33.2b
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 1/2 y))
7.4b
(*.f64 (sin.f64 y) (/.f64 x y))
0.2b
(*.f64 x (/.f64 (sin.f64 y) y))
24.4b
(*.f64 x (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))))
32.9b
(*.f64 x (*.f64 y (/.f64 1 y)))
34.2b
(*.f64 x (*.f64 y (+.f64 (/.f64 1 y) (*.f64 y -1/6))))
32.8b
x
Compiler

Compiled 382 to 263 computations (31.2% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.9b
(/.f64 1 (/.f64 (/.f64 y x) (sin.f64 y)))
6.7b
(/.f64 (/.f64 y x) (sin.f64 y))
Compiler

Compiled 24 to 8 computations (66.7% saved)

series2.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite121.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
2172×rational.json-1
1782×rational.json-simplify-35
1004×exponential.json-3
1004×rational.json-2
1004×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01034
18734
226934
381634
4292034
5769434
Stop Event
node limit
Counts
2 → 131
Calls
Call 1
Inputs
(/.f64 (/.f64 y x) (sin.f64 y))
(/.f64 1 (/.f64 (/.f64 y x) (sin.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 y (*.f64 x (sin.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 y (*.f64 x (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 y (*.f64 x (sin.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 1 (*.f64 x (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y x) (/.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 x (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 y (*.f64 x (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 1/2 (*.f64 x (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 1 (*.f64 x (sin.f64 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 y x) (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (*.f64 x (*.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 y (*.f64 x (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 (*.f64 x (sin.f64 y))) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 x) (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 2 (*.f64 x (sin.f64 y)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 2 x)) (/.f64 1/2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 2 x)) (*.f64 (/.f64 1 (sin.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (sin.f64 y)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y x) 4) (/.f64 1 (*.f64 (sin.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 x (*.f64 (sin.f64 y) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y (*.f64 x (sin.f64 y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 (sin.f64 y) 2)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 x (sin.f64 y))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 y)) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (neg.f64 x)) (/.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (neg.f64 (sin.f64 y))) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 1 (*.f64 x (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 -1 (*.f64 x (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 y x) (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 y (*.f64 x (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (neg.f64 y) (*.f64 x (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) (/.f64 2 (sin.f64 y))) (/.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (sin.f64 y)) (/.f64 (/.f64 y x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 x)) (/.f64 y (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y (/.f64 2 (*.f64 x (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 x (sin.f64 y))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 x) (/.f64 y (/.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (*.f64 x (sin.f64 y))) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (sin.f64 y)) 1/2) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 y x) (neg.f64 (sin.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 x (neg.f64 (sin.f64 y)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 y) (*.f64 x (sin.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (sin.f64 y)) (/.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 y x) (*.f64 (sin.f64 y) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 (sin.f64 y) 2)) (*.f64 2 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (+.f64 x x)) (/.f64 2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 y (*.f64 x (sin.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 x (*.f64 (sin.f64 y) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 2) (*.f64 (/.f64 1 x) (/.f64 2 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 y x) 2) (/.f64 2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 y (*.f64 x (sin.f64 y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (sin.f64 y) 4)) (*.f64 (/.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 x (*.f64 (sin.f64 y) 4))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 x) (/.f64 y (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 x (neg.f64 (sin.f64 y)))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (*.f64 x (sin.f64 y))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 (*.f64 x (sin.f64 y))) (/.f64 1/2 (*.f64 x (sin.f64 y)))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/2 (sin.f64 y))) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 x) (/.f64 1/2 x)) (/.f64 y (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y (*.f64 x (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 y x) (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 y (*.f64 x (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 y) (*.f64 x (sin.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (/.f64 (sin.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (/.f64 (sin.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (/.f64 y (/.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (/.f64 x y) 2) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 (/.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 (+.f64 y y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sin.f64 y)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 (sin.f64 y) 2)) (/.f64 1 (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 (/.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (/.f64 (*.f64 y 4) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 -1 (/.f64 y (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (/.f64 1 (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 x (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 x (/.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) 2) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 1/2) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 1 (sin.f64 y))) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 x)) (/.f64 (sin.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 y y)) (*.f64 x (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 y (/.f64 (sin.f64 y) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 y x) 4)) (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (*.f64 y 4) (sin.f64 y))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 y (sin.f64 y))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (/.f64 x y) 2) (/.f64 (/.f64 x y) 2)) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 x (/.f64 (sin.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (/.f64 y (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (*.f64 x (sin.f64 y))) y))))))

simplify125.0ms (1.5%)

Algorithm
egg-herbie
Rules
970×rational.json-simplify-51
964×rational.json-simplify-44
902×rational.json-simplify-35
854×rational.json-simplify-47
810×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02723365
15853341
213793341
343443327
469213327
Stop Event
node limit
Counts
179 → 175
Calls
Call 1
Inputs
(/.f64 1 x)
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (/.f64 1 x))
(+.f64 (*.f64 7/360 (/.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (/.f64 1 x)))
(+.f64 (*.f64 31/15120 (/.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 7/360 (/.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (/.f64 1 x))))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 (sin.f64 y) x))
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(+.f64 (/.f64 y (*.f64 x (sin.f64 y))) 0)
(+.f64 0 (/.f64 y (*.f64 x (sin.f64 y))))
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y))))))
(-.f64 (/.f64 y (*.f64 x (sin.f64 y))) 0)
(-.f64 0 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))))
(*.f64 y (/.f64 1 (*.f64 x (sin.f64 y))))
(*.f64 (/.f64 y x) (/.f64 1 (sin.f64 y)))
(*.f64 (/.f64 y (*.f64 x (sin.f64 y))) 1)
(*.f64 1 (/.f64 y (*.f64 x (sin.f64 y))))
(*.f64 (+.f64 y y) (/.f64 1/2 (*.f64 x (sin.f64 y))))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 (*.f64 x (sin.f64 y))) 1/2))
(*.f64 2 (/.f64 (/.f64 y x) (*.f64 (sin.f64 y) 2)))
(*.f64 2 (/.f64 y (*.f64 x (*.f64 (sin.f64 y) 2))))
(*.f64 2 (/.f64 (/.f64 y (*.f64 x (sin.f64 y))) 2))
(*.f64 2 (*.f64 (/.f64 1/2 (*.f64 x (sin.f64 y))) y))
(*.f64 2 (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 y x)))
(*.f64 2 (*.f64 (/.f64 1/2 x) (/.f64 y (sin.f64 y))))
(*.f64 (*.f64 y (/.f64 2 (*.f64 x (sin.f64 y)))) 1/2)
(*.f64 (*.f64 y (/.f64 2 x)) (/.f64 1/2 (sin.f64 y)))
(*.f64 (*.f64 y (/.f64 2 x)) (*.f64 (/.f64 1 (sin.f64 y)) 1/2))
(*.f64 (/.f64 y (sin.f64 y)) (/.f64 1 x))
(*.f64 (*.f64 (/.f64 y x) 4) (/.f64 1 (*.f64 (sin.f64 y) 4)))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 x (*.f64 (sin.f64 y) 4))))
(*.f64 (*.f64 (/.f64 y (*.f64 x (sin.f64 y))) 4) 1/4)
(*.f64 (/.f64 y (/.f64 (sin.f64 y) 2)) (/.f64 1/2 x))
(*.f64 (/.f64 1 (*.f64 x (sin.f64 y))) y)
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 y x))
(*.f64 (/.f64 1 x) (/.f64 y (sin.f64 y)))
(*.f64 (/.f64 y (neg.f64 x)) (/.f64 -1 (sin.f64 y)))
(*.f64 (/.f64 y (neg.f64 (sin.f64 y))) (/.f64 -1 x))
(*.f64 (neg.f64 y) (/.f64 1 (*.f64 x (neg.f64 (sin.f64 y)))))
(*.f64 (neg.f64 y) (/.f64 -1 (*.f64 x (sin.f64 y))))
(*.f64 -1 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))))
(*.f64 -1 (/.f64 (/.f64 y x) (neg.f64 (sin.f64 y))))
(*.f64 -1 (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 x)))
(*.f64 -1 (/.f64 y (*.f64 x (neg.f64 (sin.f64 y)))))
(*.f64 -1 (/.f64 (neg.f64 y) (*.f64 x (sin.f64 y))))
(*.f64 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))) -1)
(*.f64 (*.f64 (/.f64 1 x) (/.f64 2 (sin.f64 y))) (/.f64 y 2))
(*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (+.f64 x x)))
(*.f64 (/.f64 2 (sin.f64 y)) (/.f64 (/.f64 y x) 2))
(*.f64 (*.f64 2 (/.f64 1 x)) (/.f64 y (*.f64 (sin.f64 y) 2)))
(*.f64 1/2 (*.f64 y (/.f64 2 (*.f64 x (sin.f64 y)))))
(*.f64 (/.f64 1/2 (*.f64 x (sin.f64 y))) (+.f64 y y))
(*.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 y (/.f64 2 x)))
(*.f64 (/.f64 1/2 x) (/.f64 y (/.f64 (sin.f64 y) 2)))
(*.f64 (*.f64 (/.f64 1 (*.f64 x (sin.f64 y))) 1/2) (+.f64 y y))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) 1/2) (*.f64 y (/.f64 2 x)))
(*.f64 (/.f64 (/.f64 y x) (neg.f64 (sin.f64 y))) -1)
(*.f64 (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 x)) -1)
(*.f64 (/.f64 y (*.f64 x (neg.f64 (sin.f64 y)))) -1)
(*.f64 (/.f64 (neg.f64 y) (*.f64 x (sin.f64 y))) -1)
(*.f64 (/.f64 -1 (sin.f64 y)) (/.f64 y (neg.f64 x)))
(*.f64 (/.f64 (/.f64 y x) (*.f64 (sin.f64 y) 2)) 2)
(*.f64 (/.f64 y (*.f64 (sin.f64 y) 2)) (*.f64 2 (/.f64 1 x)))
(*.f64 (/.f64 y (+.f64 x x)) (/.f64 2 (sin.f64 y)))
(*.f64 1/4 (*.f64 (/.f64 y (*.f64 x (sin.f64 y))) 4))
(*.f64 (/.f64 y (*.f64 x (*.f64 (sin.f64 y) 2))) 2)
(*.f64 (/.f64 y 2) (*.f64 (/.f64 1 x) (/.f64 2 (sin.f64 y))))
(*.f64 (/.f64 (/.f64 y x) 2) (/.f64 2 (sin.f64 y)))
(*.f64 (/.f64 (/.f64 y (*.f64 x (sin.f64 y))) 2) 2)
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) 4)) (*.f64 (/.f64 y x) 4))
(*.f64 (/.f64 1 (*.f64 x (*.f64 (sin.f64 y) 4))) (*.f64 y 4))
(*.f64 (/.f64 -1 x) (/.f64 y (neg.f64 (sin.f64 y))))
(*.f64 (/.f64 1 (*.f64 x (neg.f64 (sin.f64 y)))) (neg.f64 y))
(*.f64 (/.f64 -1 (*.f64 x (sin.f64 y))) (neg.f64 y))
(*.f64 (+.f64 (/.f64 1/2 (*.f64 x (sin.f64 y))) (/.f64 1/2 (*.f64 x (sin.f64 y)))) y)
(*.f64 (+.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/2 (sin.f64 y))) (/.f64 y x))
(*.f64 (+.f64 (/.f64 1/2 x) (/.f64 1/2 x)) (/.f64 y (sin.f64 y)))
(pow.f64 (/.f64 y (*.f64 x (sin.f64 y))) 1)
(neg.f64 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))))
(neg.f64 (/.f64 (/.f64 y x) (neg.f64 (sin.f64 y))))
(neg.f64 (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 x)))
(neg.f64 (/.f64 y (*.f64 x (neg.f64 (sin.f64 y)))))
(neg.f64 (/.f64 (neg.f64 y) (*.f64 x (sin.f64 y))))
(+.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 0)
(+.f64 0 (*.f64 x (/.f64 (sin.f64 y) y)))
(-.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 1 (*.f64 x (/.f64 (sin.f64 y) y)))
(*.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 1)
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))
(*.f64 2 (/.f64 x (/.f64 y (/.f64 (sin.f64 y) 2))))
(*.f64 2 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 2))
(*.f64 2 (*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) x))
(*.f64 2 (*.f64 (/.f64 (/.f64 x y) 2) (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 (/.f64 x y) 2))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 (+.f64 y y)) x))
(*.f64 (*.f64 x (sin.f64 y)) (/.f64 1 y))
(*.f64 (*.f64 x (*.f64 (sin.f64 y) 2)) (/.f64 1 (+.f64 y y)))
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 (/.f64 y x) 4)))
(*.f64 (*.f64 x 4) (/.f64 1 (/.f64 (*.f64 y 4) (sin.f64 y))))
(*.f64 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))) 1/2)
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 y x)))
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 y (sin.f64 y))))
(*.f64 -1 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (/.f64 x y) (/.f64 1 (/.f64 1 (sin.f64 y))))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (/.f64 1 x)))
(*.f64 (/.f64 1 y) (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 1 y) (/.f64 x (/.f64 1 (sin.f64 y))))
(*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 1 x)))
(*.f64 1/2 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))))
(*.f64 (/.f64 (/.f64 x y) 2) (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))
(*.f64 (*.f64 (/.f64 x y) 1/2) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))) -1)
(*.f64 (/.f64 x (/.f64 1 (sin.f64 y))) (/.f64 1 y))
(*.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 x y))
(*.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) (/.f64 1 y))
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 1 (+.f64 y y)) (*.f64 x (*.f64 (sin.f64 y) 2)))
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) 2)
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 x (/.f64 y (/.f64 (sin.f64 y) 2))) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 y x) 4)) (*.f64 (sin.f64 y) 4))
(*.f64 (/.f64 1 (/.f64 (*.f64 y 4) (sin.f64 y))) (*.f64 x 4))
(*.f64 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 2) 2)
(*.f64 (/.f64 -1 (/.f64 y (sin.f64 y))) (neg.f64 x))
(*.f64 (+.f64 (/.f64 (/.f64 x y) 2) (/.f64 (/.f64 x y) 2)) (sin.f64 y))
(pow.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 1)
(neg.f64 (neg.f64 (*.f64 x (/.f64 (sin.f64 y) y))))
(neg.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))
(neg.f64 (/.f64 x (/.f64 y (neg.f64 (sin.f64 y)))))
(neg.f64 (/.f64 (neg.f64 (*.f64 x (sin.f64 y))) y))
Outputs
(/.f64 1 x)
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 1/6 (/.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 7/360 (/.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (/.f64 1 x)))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 x) (*.f64 7/360 (/.f64 (pow.f64 y 4) x))))
(+.f64 (/.f64 1 x) (+.f64 (*.f64 7/360 (/.f64 (pow.f64 y 4) x)) (*.f64 1/6 (/.f64 (pow.f64 y 2) x))))
(+.f64 (/.f64 1 x) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (*.f64 7/360 (/.f64 (pow.f64 y 4) x))))
(+.f64 (*.f64 31/15120 (/.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 7/360 (/.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (/.f64 1 x))))
(+.f64 (*.f64 7/360 (/.f64 (pow.f64 y 4) x)) (+.f64 (+.f64 (/.f64 1 x) (*.f64 1/6 (/.f64 (pow.f64 y 2) x))) (*.f64 31/15120 (/.f64 (pow.f64 y 6) x))))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (+.f64 (+.f64 (/.f64 1 x) (*.f64 7/360 (/.f64 (pow.f64 y 4) x))) (*.f64 31/15120 (/.f64 (pow.f64 y 6) x))))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (*.f64 7/360 (/.f64 (pow.f64 y 4) x))) (*.f64 31/15120 (/.f64 (pow.f64 y 6) x))))
(+.f64 (/.f64 1 x) (+.f64 (*.f64 31/15120 (/.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 y 2) x)) (*.f64 7/360 (/.f64 (pow.f64 y 4) x)))))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
(/.f64 y (*.f64 (sin.f64 y) x))
(/.f64 y (*.f64 x (sin.f64 y)))
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 (pow.f64 y 2) (*.f64 x -1/6)))
(+.f64 x (*.f64 x (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 x (*.f64 x (*.f64 (pow.f64 y 2) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (+.f64 x (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 x (+.f64 (*.f64 x (*.f64 1/120 (pow.f64 y 4))) (*.f64 x (*.f64 -1/6 (pow.f64 y 2)))))
(+.f64 x (+.f64 (*.f64 x (*.f64 (pow.f64 y 2) -1/6)) (*.f64 (pow.f64 y 4) (*.f64 x 1/120))))
(+.f64 x (*.f64 x (+.f64 (*.f64 (pow.f64 y 4) 1/120) (*.f64 (pow.f64 y 2) -1/6))))
(+.f64 x (*.f64 x (+.f64 (*.f64 (pow.f64 y 2) -1/6) (*.f64 (pow.f64 y 4) 1/120))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 x -1/6)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 x (*.f64 -1/5040 (*.f64 x (pow.f64 y 6))))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 2))) (+.f64 x (+.f64 (*.f64 x (*.f64 1/120 (pow.f64 y 4))) (*.f64 x (*.f64 -1/5040 (pow.f64 y 6))))))
(+.f64 (*.f64 x (*.f64 (pow.f64 y 2) -1/6)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 x 1/120)) (+.f64 x (*.f64 x (*.f64 (pow.f64 y 6) -1/5040)))))
(+.f64 x (+.f64 (*.f64 x (*.f64 (pow.f64 y 2) -1/6)) (*.f64 x (+.f64 (*.f64 (pow.f64 y 6) -1/5040) (*.f64 (pow.f64 y 4) 1/120)))))
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(+.f64 (/.f64 y (*.f64 x (sin.f64 y))) 0)
(/.f64 y (*.f64 x (sin.f64 y)))
(+.f64 0 (/.f64 y (*.f64 x (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(+.f64 -1 (-.f64 1 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y))))))
(/.f64 y (*.f64 x (sin.f64 y)))
(-.f64 (/.f64 y (*.f64 x (sin.f64 y))) 0)
(/.f64 y (*.f64 x (sin.f64 y)))
(-.f64 0 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 y (/.f64 1 (*.f64 x (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y x) (/.f64 1 (sin.f64 y)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y (*.f64 x (sin.f64 y))) 1)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 1 (/.f64 y (*.f64 x (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (+.f64 y y) (/.f64 1/2 (*.f64 x (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 (*.f64 x (sin.f64 y))) 1/2))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 2 (/.f64 (/.f64 y x) (*.f64 (sin.f64 y) 2)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 2 (/.f64 y (*.f64 x (*.f64 (sin.f64 y) 2))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 2 (/.f64 (/.f64 y (*.f64 x (sin.f64 y))) 2))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 2 (*.f64 (/.f64 1/2 (*.f64 x (sin.f64 y))) y))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 2 (*.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 y x)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 2 (*.f64 (/.f64 1/2 x) (/.f64 y (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (*.f64 y (/.f64 2 (*.f64 x (sin.f64 y)))) 1/2)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (*.f64 y (/.f64 2 x)) (/.f64 1/2 (sin.f64 y)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (*.f64 y (/.f64 2 x)) (*.f64 (/.f64 1 (sin.f64 y)) 1/2))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y (sin.f64 y)) (/.f64 1 x))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (*.f64 (/.f64 y x) 4) (/.f64 1 (*.f64 (sin.f64 y) 4)))
(*.f64 (/.f64 y x) (*.f64 4 (/.f64 1 (*.f64 4 (sin.f64 y)))))
(*.f64 4 (*.f64 (/.f64 1/4 (sin.f64 y)) (/.f64 y x)))
(*.f64 4 (*.f64 (/.f64 y x) (/.f64 1/4 (sin.f64 y))))
(*.f64 (/.f64 1/4 (sin.f64 y)) (*.f64 4 (/.f64 y x)))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 x (*.f64 (sin.f64 y) 4))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (*.f64 (/.f64 y (*.f64 x (sin.f64 y))) 4) 1/4)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y (/.f64 (sin.f64 y) 2)) (/.f64 1/2 x))
(*.f64 (/.f64 1/2 x) (/.f64 y (/.f64 (sin.f64 y) 2)))
(*.f64 (/.f64 1/2 x) (/.f64 (+.f64 y y) (sin.f64 y)))
(*.f64 (/.f64 1 (*.f64 x (sin.f64 y))) y)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 1 (sin.f64 y)) (/.f64 y x))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 1 x) (/.f64 y (sin.f64 y)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y (neg.f64 x)) (/.f64 -1 (sin.f64 y)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y (neg.f64 (sin.f64 y))) (/.f64 -1 x))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (neg.f64 y) (/.f64 1 (*.f64 x (neg.f64 (sin.f64 y)))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (neg.f64 y) (/.f64 -1 (*.f64 x (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 -1 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 -1 (/.f64 (/.f64 y x) (neg.f64 (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 -1 (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 x)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 -1 (/.f64 y (*.f64 x (neg.f64 (sin.f64 y)))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 -1 (/.f64 (neg.f64 y) (*.f64 x (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))) -1)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1 x) (/.f64 2 (sin.f64 y))) (/.f64 y 2))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y (+.f64 x x)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 2 (sin.f64 y)) (/.f64 (/.f64 y x) 2))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (*.f64 2 (/.f64 1 x)) (/.f64 y (*.f64 (sin.f64 y) 2)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 1/2 (*.f64 y (/.f64 2 (*.f64 x (sin.f64 y)))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 1/2 (*.f64 x (sin.f64 y))) (+.f64 y y))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 1/2 (sin.f64 y)) (*.f64 y (/.f64 2 x)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 1/2 x) (/.f64 y (/.f64 (sin.f64 y) 2)))
(*.f64 (/.f64 1/2 x) (/.f64 (+.f64 y y) (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1 (*.f64 x (sin.f64 y))) 1/2) (+.f64 y y))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (*.f64 (/.f64 1 (sin.f64 y)) 1/2) (*.f64 y (/.f64 2 x)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 (/.f64 y x) (neg.f64 (sin.f64 y))) -1)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 x)) -1)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y (*.f64 x (neg.f64 (sin.f64 y)))) -1)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 (neg.f64 y) (*.f64 x (sin.f64 y))) -1)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 -1 (sin.f64 y)) (/.f64 y (neg.f64 x)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 (/.f64 y x) (*.f64 (sin.f64 y) 2)) 2)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y (*.f64 (sin.f64 y) 2)) (*.f64 2 (/.f64 1 x)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y (+.f64 x x)) (/.f64 2 (sin.f64 y)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 1/4 (*.f64 (/.f64 y (*.f64 x (sin.f64 y))) 4))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y (*.f64 x (*.f64 (sin.f64 y) 2))) 2)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 y 2) (*.f64 (/.f64 1 x) (/.f64 2 (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 (/.f64 y x) 2) (/.f64 2 (sin.f64 y)))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 (/.f64 y (*.f64 x (sin.f64 y))) 2) 2)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 1 (*.f64 (sin.f64 y) 4)) (*.f64 (/.f64 y x) 4))
(*.f64 (/.f64 y x) (*.f64 4 (/.f64 1 (*.f64 4 (sin.f64 y)))))
(*.f64 4 (*.f64 (/.f64 1/4 (sin.f64 y)) (/.f64 y x)))
(*.f64 4 (*.f64 (/.f64 y x) (/.f64 1/4 (sin.f64 y))))
(*.f64 (/.f64 1/4 (sin.f64 y)) (*.f64 4 (/.f64 y x)))
(*.f64 (/.f64 1 (*.f64 x (*.f64 (sin.f64 y) 4))) (*.f64 y 4))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 -1 x) (/.f64 y (neg.f64 (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 1 (*.f64 x (neg.f64 (sin.f64 y)))) (neg.f64 y))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (/.f64 -1 (*.f64 x (sin.f64 y))) (neg.f64 y))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (+.f64 (/.f64 1/2 (*.f64 x (sin.f64 y))) (/.f64 1/2 (*.f64 x (sin.f64 y)))) y)
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (+.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 1/2 (sin.f64 y))) (/.f64 y x))
(/.f64 y (*.f64 x (sin.f64 y)))
(*.f64 (+.f64 (/.f64 1/2 x) (/.f64 1/2 x)) (/.f64 y (sin.f64 y)))
(*.f64 (/.f64 y (sin.f64 y)) (+.f64 (/.f64 1/2 x) (/.f64 1/2 x)))
(*.f64 -2 (*.f64 (/.f64 y (neg.f64 (sin.f64 y))) (/.f64 1/2 x)))
(pow.f64 (/.f64 y (*.f64 x (sin.f64 y))) 1)
(/.f64 y (*.f64 x (sin.f64 y)))
(neg.f64 (neg.f64 (/.f64 y (*.f64 x (sin.f64 y)))))
(/.f64 y (*.f64 x (sin.f64 y)))
(neg.f64 (/.f64 (/.f64 y x) (neg.f64 (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(neg.f64 (/.f64 (/.f64 y (sin.f64 y)) (neg.f64 x)))
(/.f64 y (*.f64 x (sin.f64 y)))
(neg.f64 (/.f64 y (*.f64 x (neg.f64 (sin.f64 y)))))
(/.f64 y (*.f64 x (sin.f64 y)))
(neg.f64 (/.f64 (neg.f64 y) (*.f64 x (sin.f64 y))))
(/.f64 y (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(+.f64 0 (*.f64 x (/.f64 (sin.f64 y) y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(-.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 0)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 1 (*.f64 x (/.f64 (sin.f64 y) y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (+.f64 x x) (*.f64 (/.f64 (sin.f64 y) y) 1/2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 2 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 2 (/.f64 x (/.f64 y (/.f64 (sin.f64 y) 2))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 2 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 2 (*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 2 (*.f64 (/.f64 (/.f64 x y) 2) (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 (/.f64 x y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 x y) 1/2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 (sin.f64 y) 2) (/.f64 x (+.f64 y y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 (sin.f64 y) 2) (*.f64 (/.f64 1 (+.f64 y y)) x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 x (sin.f64 y)) (/.f64 1 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 x (*.f64 (sin.f64 y) 2)) (/.f64 1 (+.f64 y y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 (sin.f64 y) 4) (/.f64 1 (*.f64 (/.f64 y x) 4)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 x 4) (/.f64 1 (/.f64 (*.f64 y 4) (sin.f64 y))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 4 (*.f64 x (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))) 1/2)
(*.f64 1/2 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))))
(*.f64 1/2 (*.f64 (/.f64 2 y) (*.f64 x (sin.f64 y))))
(*.f64 x (*.f64 1/2 (/.f64 (sin.f64 y) (/.f64 y 2))))
(*.f64 1/2 (/.f64 (*.f64 x (sin.f64 y)) (/.f64 y 2)))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 (/.f64 y x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 y (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 -1 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 x y) (/.f64 1 (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 1 (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 1 y) (*.f64 x (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 1 y) (/.f64 x (/.f64 1 (sin.f64 y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 1 y) (/.f64 (sin.f64 y) (/.f64 1 x)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 1/2 (*.f64 (sin.f64 y) (*.f64 x (/.f64 2 y))))
(*.f64 1/2 (*.f64 (/.f64 2 y) (*.f64 x (sin.f64 y))))
(*.f64 x (*.f64 1/2 (/.f64 (sin.f64 y) (/.f64 y 2))))
(*.f64 1/2 (/.f64 (*.f64 x (sin.f64 y)) (/.f64 y 2)))
(*.f64 (/.f64 (/.f64 x y) 2) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 (/.f64 (sin.f64 y) y) 1/2) (+.f64 x x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (*.f64 (/.f64 x y) 1/2) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))) -1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 x (/.f64 1 (sin.f64 y))) (/.f64 1 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 1 (/.f64 1 (sin.f64 y))) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) (/.f64 1 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 (sin.f64 y) y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 1 (+.f64 y y)) (*.f64 x (*.f64 (sin.f64 y) 2)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 x (+.f64 y y)) (*.f64 (sin.f64 y) 2))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 (sin.f64 y) (*.f64 y (/.f64 2 x))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 x (/.f64 y (/.f64 (sin.f64 y) 2))) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 1 (*.f64 (/.f64 y x) 4)) (*.f64 (sin.f64 y) 4))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 1 (/.f64 (*.f64 y 4) (sin.f64 y))) (*.f64 x 4))
(*.f64 (*.f64 x 4) (/.f64 1 (/.f64 (*.f64 y 4) (sin.f64 y))))
(*.f64 x (*.f64 4 (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 4 (*.f64 x (/.f64 (sin.f64 y) (*.f64 y 4))))
(*.f64 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 2) 2)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (/.f64 -1 (/.f64 y (sin.f64 y))) (neg.f64 x))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (+.f64 (/.f64 (/.f64 x y) 2) (/.f64 (/.f64 x y) 2)) (sin.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(pow.f64 (*.f64 x (/.f64 (sin.f64 y) y)) 1)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(neg.f64 (neg.f64 (*.f64 x (/.f64 (sin.f64 y) y))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(neg.f64 (/.f64 (sin.f64 y) (/.f64 y (neg.f64 x))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(neg.f64 (/.f64 x (/.f64 y (neg.f64 (sin.f64 y)))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(neg.f64 (/.f64 (neg.f64 (*.f64 x (sin.f64 y))) y))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (*.f64 x (sin.f64 y)) y)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
14.8b
(*.f64 (/.f64 x y) y)
Compiler

Compiled 12 to 4 computations (66.7% saved)

series0.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite77.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1204×rational.json-simplify-50
1192×rational.json-1
1192×rational.json-2
1192×rational.json-4
1192×rational.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0613
14213
211713
332713
411471
542051
Stop Event
node limit
Counts
1 → 141
Calls
Call 1
Inputs
(*.f64 (/.f64 x y) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (/.f64 0 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (/.f64 0 (/.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 x (/.f64 y (neg.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x 2) (/.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 0 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 0 (/.f64 -1 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 x (/.f64 y (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (neg.f64 (/.f64 y (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (neg.f64 (neg.f64 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (-.f64 0 (neg.f64 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (-.f64 0 (/.f64 -1 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) (-.f64 0 (/.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (-.f64 0 (*.f64 2 (/.f64 y (neg.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 2) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 (/.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (/.f64 (/.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (/.f64 (/.f64 -2 x) (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (neg.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (/.f64 -1 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 x)) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 y 4) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (*.f64 2 (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 4) (*.f64 2 (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 8) (*.f64 (/.f64 y x) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 2 (/.f64 y (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x y) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (/.f64 1/2 x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (/.f64 1/2 x)) (/.f64 -2 (/.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 4)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 4)) (/.f64 -4 (/.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (neg.f64 y)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (neg.f64 y)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 2 (neg.f64 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 2 (/.f64 -1 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (neg.f64 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (/.f64 (*.f64 y 4) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (*.f64 2 (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y x) 4) (*.f64 2 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 8) (*.f64 (/.f64 1 y) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) 4) (*.f64 (/.f64 2 y) (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 8)) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 x y) 1/4) (/.f64 4 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (/.f64 -1 y)) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 x y) 4) (/.f64 1 y)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)) (/.f64 -8 (/.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) (/.f64 -1 y)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) (*.f64 (/.f64 y x) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (/.f64 y (neg.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (+.f64 y y)) (*.f64 (/.f64 1 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (/.f64 (*.f64 y 4) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y 2) (/.f64 (/.f64 y x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y 4)) (-.f64 0 (*.f64 (/.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 y) (-.f64 0 (/.f64 (/.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 x y) 2)) (neg.f64 (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x -2)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x -2)) (neg.f64 (/.f64 -2 (/.f64 -1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x (*.f64 y 4))) (neg.f64 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 x (neg.f64 y))) (*.f64 2 (/.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 x 8))) (*.f64 2 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (*.f64 (/.f64 x y) 4) (/.f64 1 y))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (*.f64 x 8) (/.f64 1 y))) (*.f64 2 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (+.f64 x x) (/.f64 -1 y))) (*.f64 (neg.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (/.f64 y x) (/.f64 1 y))) (*.f64 (/.f64 y x) (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 x -2))) (*.f64 (neg.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 x (*.f64 y 4)))) (*.f64 2 (neg.f64 (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (neg.f64 (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 x (/.f64 y (neg.f64 y)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 -2 (/.f64 -1 y))) (*.f64 (/.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y 1/2) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x y) 2) (/.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x y) (*.f64 y 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x y) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 -2 (/.f64 -1 y)) y) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) y) (/.f64 (/.f64 y x) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) (/.f64 y x)) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y (/.f64 2 x))) (-.f64 0 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y (neg.f64 y))) (-.f64 0 (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 x y) 4)) (-.f64 0 (*.f64 2 (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (/.f64 x y) 2))) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y (*.f64 x 8))) (neg.f64 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -2 (/.f64 -1 y))) (neg.f64 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 x 8) (/.f64 1 y))) (neg.f64 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 x x) (/.f64 -1 y))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 y x) (/.f64 1 y))) (neg.f64 (*.f64 (/.f64 y x) (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y (*.f64 x -2))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 x (*.f64 y 4)))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 x (*.f64 y 4)))) (-.f64 0 (neg.f64 (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 8) y) (/.f64 8 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y 2)) (-.f64 0 (/.f64 (/.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y 1/2)) (neg.f64 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 x (+.f64 y y))) (-.f64 0 (*.f64 (/.f64 1 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 y (*.f64 x 8)))) (-.f64 0 (*.f64 2 (*.f64 y 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 -2 (/.f64 -1 y)))) (-.f64 0 (*.f64 (/.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 (*.f64 x 8) (/.f64 1 y)))) (-.f64 0 (*.f64 2 (*.f64 y 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 (+.f64 x x) (/.f64 -1 y)))) (-.f64 0 (*.f64 (neg.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 (/.f64 y x) (/.f64 1 y)))) (-.f64 0 (*.f64 (/.f64 y x) (*.f64 y (/.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 y (*.f64 x -2)))) (-.f64 0 (*.f64 (neg.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 x y) 2)) (-.f64 0 (/.f64 y 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 x y) 1/2)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 -2 (/.f64 -1 y)) y)) (-.f64 0 (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) y)) (-.f64 0 (/.f64 (/.f64 y x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) (/.f64 y x))) (neg.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 y (*.f64 x 8)))) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 -2 (/.f64 -1 y)))) (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)))) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 (+.f64 x x) (/.f64 -1 y)))) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 y x) (/.f64 1 y)))) (*.f64 (/.f64 y x) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 y (*.f64 x -2)))) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 x (*.f64 y 4))))) (neg.f64 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (/.f64 y (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x . x)))))

simplify102.0ms (1.2%)

Algorithm
egg-herbie
Rules
1298×rational.json-simplify-35
1214×rational.json-simplify-2
874×rational.json-simplify-61
820×rational.json-simplify-29
740×rational.json-simplify-55
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0318403
11273375
24140339
37359339
Stop Event
node limit
Counts
165 → 151
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 x 0)
(+.f64 x (/.f64 0 y))
(+.f64 x (/.f64 0 (/.f64 -1 y)))
(+.f64 0 x)
(+.f64 -1 (-.f64 x -1))
(+.f64 -1 (-.f64 1 (/.f64 x (/.f64 y (neg.f64 y)))))
(+.f64 (/.f64 x 2) (/.f64 x 2))
(+.f64 (-.f64 x -1) -1)
(+.f64 (/.f64 0 y) x)
(+.f64 (/.f64 0 (/.f64 -1 y)) x)
(-.f64 x 0)
(-.f64 0 (neg.f64 x))
(-.f64 0 (/.f64 x (/.f64 y (neg.f64 y))))
(/.f64 x 1)
(/.f64 x (neg.f64 (/.f64 y (neg.f64 y))))
(/.f64 y (/.f64 y x))
(/.f64 y (neg.f64 (neg.f64 (/.f64 y x))))
(/.f64 y (-.f64 0 (neg.f64 (/.f64 y x))))
(/.f64 y (-.f64 0 (/.f64 -1 (/.f64 x y))))
(/.f64 (/.f64 x y) (/.f64 1 y))
(/.f64 (/.f64 x y) (-.f64 0 (/.f64 -1 y)))
(/.f64 1 (/.f64 1 x))
(/.f64 (+.f64 x x) 2)
(/.f64 (+.f64 x x) (-.f64 0 (*.f64 2 (/.f64 y (neg.f64 y)))))
(/.f64 (+.f64 y y) (*.f64 y (/.f64 2 x)))
(/.f64 2 (*.f64 2 (/.f64 1 x)))
(/.f64 2 (/.f64 2 x))
(/.f64 (*.f64 (/.f64 x y) 2) (/.f64 2 y))
(/.f64 (*.f64 x 4) 4)
(/.f64 (*.f64 y 4) (*.f64 (/.f64 y x) 4))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 y) x))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 -2 x) (*.f64 y -2)))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) y))
(/.f64 (neg.f64 x) -1)
(/.f64 (neg.f64 x) (/.f64 y (neg.f64 y)))
(/.f64 (neg.f64 y) (neg.f64 (/.f64 y x)))
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 x y)))
(/.f64 -1 (/.f64 -1 x))
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 y)))
(/.f64 4 (/.f64 (*.f64 y 4) (*.f64 x y)))
(/.f64 4 (*.f64 2 (*.f64 2 (/.f64 1 x))))
(/.f64 4 (*.f64 2 (/.f64 2 x)))
(/.f64 (*.f64 (/.f64 x y) 4) (*.f64 2 (/.f64 2 y)))
(/.f64 (*.f64 x 8) 8)
(/.f64 (*.f64 y 8) (*.f64 (/.f64 y x) 8))
(/.f64 (*.f64 x -2) -2)
(/.f64 (*.f64 x -2) (*.f64 2 (/.f64 y (neg.f64 y))))
(/.f64 (*.f64 x y) y)
(/.f64 (/.f64 y (/.f64 1/2 x)) (+.f64 y y))
(/.f64 (/.f64 y (/.f64 1/2 x)) (/.f64 -2 (/.f64 -1 y)))
(/.f64 (*.f64 x (*.f64 y 4)) (*.f64 y 4))
(/.f64 (*.f64 x (*.f64 y 4)) (/.f64 -4 (/.f64 -1 y)))
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 y))
(/.f64 (/.f64 y (neg.f64 y)) (/.f64 -1 x))
(/.f64 1/2 (/.f64 1/2 x))
(/.f64 (*.f64 y -2) (*.f64 2 (neg.f64 (/.f64 y x))))
(/.f64 (*.f64 y -2) (*.f64 2 (/.f64 -1 (/.f64 x y))))
(/.f64 (*.f64 y -2) (neg.f64 (*.f64 y (/.f64 2 x))))
(/.f64 8 (*.f64 2 (/.f64 (*.f64 y 4) (*.f64 x y))))
(/.f64 -2 (-.f64 0 (*.f64 2 (/.f64 1 x))))
(/.f64 -2 (-.f64 0 (/.f64 2 x)))
(/.f64 (*.f64 (/.f64 y x) 4) (*.f64 2 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 y))))
(/.f64 (*.f64 (/.f64 x y) 8) (*.f64 (/.f64 1 y) 8))
(/.f64 (*.f64 2 (*.f64 x 8)) 16)
(/.f64 (*.f64 (neg.f64 x) 4) -4)
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 (/.f64 2 y) (*.f64 y -2)))
(/.f64 (*.f64 y (*.f64 x 8)) (*.f64 y 8))
(/.f64 (/.f64 (/.f64 x y) 1/4) (/.f64 4 y))
(/.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 y))
(/.f64 (/.f64 -2 (/.f64 -1 y)) (*.f64 y (/.f64 2 x)))
(/.f64 (/.f64 (*.f64 (/.f64 x y) 4) (/.f64 1 y)) 4)
(/.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)) (*.f64 y 8))
(/.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)) (/.f64 -8 (/.f64 -1 y)))
(/.f64 (/.f64 (+.f64 x x) (/.f64 -1 y)) (*.f64 y -2))
(/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) (*.f64 (/.f64 y x) (/.f64 y x)))
(/.f64 (/.f64 x (/.f64 y (neg.f64 y))) -1)
(/.f64 (/.f64 x (+.f64 y y)) (*.f64 (/.f64 1 y) 1/2))
(/.f64 -4 (-.f64 0 (/.f64 (*.f64 y 4) (*.f64 x y))))
(/.f64 (/.f64 x 2) 1/2)
(/.f64 (/.f64 y 2) (/.f64 (/.f64 y x) 2))
(/.f64 (neg.f64 (*.f64 y 4)) (-.f64 0 (*.f64 (/.f64 y x) 4)))
(/.f64 (/.f64 -1 y) (-.f64 0 (/.f64 (/.f64 1 y) x)))
(/.f64 (neg.f64 (*.f64 (/.f64 x y) 2)) (neg.f64 (/.f64 2 y)))
(/.f64 (*.f64 y (*.f64 x -2)) (*.f64 y -2))
(/.f64 (*.f64 y (*.f64 x -2)) (neg.f64 (/.f64 -2 (/.f64 -1 y))))
(/.f64 (neg.f64 (*.f64 x (*.f64 y 4))) (neg.f64 (*.f64 y 4)))
(/.f64 (*.f64 2 (/.f64 x (neg.f64 y))) (*.f64 2 (/.f64 -1 y)))
(/.f64 (*.f64 2 (*.f64 y (*.f64 x 8))) (*.f64 2 (*.f64 y 8)))
(/.f64 (*.f64 2 (/.f64 (*.f64 (/.f64 x y) 4) (/.f64 1 y))) 8)
(/.f64 (*.f64 2 (/.f64 (*.f64 x 8) (/.f64 1 y))) (*.f64 2 (*.f64 y 8)))
(/.f64 (*.f64 2 (/.f64 (+.f64 x x) (/.f64 -1 y))) (*.f64 (neg.f64 y) 4))
(/.f64 (*.f64 2 (/.f64 (/.f64 y x) (/.f64 1 y))) (*.f64 (/.f64 y x) (*.f64 y (/.f64 2 x))))
(/.f64 (*.f64 2 (*.f64 y (*.f64 x -2))) (*.f64 (neg.f64 y) 4))
(/.f64 (*.f64 2 (neg.f64 (*.f64 x (*.f64 y 4)))) (*.f64 2 (neg.f64 (*.f64 y 4))))
(/.f64 -1/2 (neg.f64 (/.f64 1/2 x)))
(/.f64 (*.f64 2 (/.f64 x (/.f64 y (neg.f64 y)))) -2)
(/.f64 (*.f64 2 (/.f64 -2 (/.f64 -1 y))) (*.f64 (/.f64 y x) 4))
(/.f64 (/.f64 y 1/2) (*.f64 y (/.f64 2 x)))
(/.f64 (/.f64 (*.f64 x y) 2) (/.f64 y 2))
(/.f64 (/.f64 (*.f64 x y) (*.f64 y 4)) 1/4)
(/.f64 (/.f64 (*.f64 x y) 1/2) (+.f64 y y))
(/.f64 (/.f64 (/.f64 -2 (/.f64 -1 y)) y) (/.f64 2 x))
(/.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) y) (/.f64 (/.f64 y x) x))
(/.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) (/.f64 y x)) (/.f64 y x))
(/.f64 (neg.f64 (*.f64 y (/.f64 2 x))) (-.f64 0 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 y))))
(/.f64 (neg.f64 (/.f64 y (neg.f64 y))) (-.f64 0 (/.f64 -1 x)))
(/.f64 (neg.f64 (*.f64 (/.f64 x y) 4)) (-.f64 0 (*.f64 2 (/.f64 2 y))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (/.f64 x y) 2))) (/.f64 2 y))
(/.f64 (neg.f64 (*.f64 y (*.f64 x 8))) (neg.f64 (*.f64 y 8)))
(/.f64 (neg.f64 (/.f64 -2 (/.f64 -1 y))) (neg.f64 (*.f64 y (/.f64 2 x))))
(/.f64 (neg.f64 (/.f64 (*.f64 x 8) (/.f64 1 y))) (neg.f64 (*.f64 y 8)))
(/.f64 (neg.f64 (/.f64 (+.f64 x x) (/.f64 -1 y))) (+.f64 y y))
(/.f64 (neg.f64 (/.f64 (/.f64 y x) (/.f64 1 y))) (neg.f64 (*.f64 (/.f64 y x) (/.f64 y x))))
(/.f64 (neg.f64 (*.f64 y (*.f64 x -2))) (+.f64 y y))
(/.f64 (neg.f64 (neg.f64 (*.f64 x (*.f64 y 4)))) (*.f64 y 4))
(/.f64 (neg.f64 (neg.f64 (*.f64 x (*.f64 y 4)))) (-.f64 0 (neg.f64 (*.f64 y 4))))
(/.f64 (/.f64 (*.f64 x 8) y) (/.f64 8 y))
(/.f64 (neg.f64 (/.f64 y 2)) (-.f64 0 (/.f64 (/.f64 y x) 2)))
(/.f64 (neg.f64 (/.f64 y 1/2)) (neg.f64 (*.f64 y (/.f64 2 x))))
(/.f64 (neg.f64 (/.f64 x (+.f64 y y))) (-.f64 0 (*.f64 (/.f64 1 y) 1/2)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 y (*.f64 x 8)))) (-.f64 0 (*.f64 2 (*.f64 y 8))))
(/.f64 (neg.f64 (*.f64 2 (/.f64 -2 (/.f64 -1 y)))) (-.f64 0 (*.f64 (/.f64 y x) 4)))
(/.f64 (neg.f64 (*.f64 2 (/.f64 (*.f64 x 8) (/.f64 1 y)))) (-.f64 0 (*.f64 2 (*.f64 y 8))))
(/.f64 (neg.f64 (*.f64 2 (/.f64 (+.f64 x x) (/.f64 -1 y)))) (-.f64 0 (*.f64 (neg.f64 y) 4)))
(/.f64 (neg.f64 (*.f64 2 (/.f64 (/.f64 y x) (/.f64 1 y)))) (-.f64 0 (*.f64 (/.f64 y x) (*.f64 y (/.f64 2 x)))))
(/.f64 (neg.f64 (*.f64 2 (*.f64 y (*.f64 x -2)))) (-.f64 0 (*.f64 (neg.f64 y) 4)))
(/.f64 (neg.f64 (/.f64 (*.f64 x y) 2)) (-.f64 0 (/.f64 y 2)))
(/.f64 (neg.f64 (/.f64 (*.f64 x y) 1/2)) (*.f64 y -2))
(/.f64 (neg.f64 (/.f64 (/.f64 -2 (/.f64 -1 y)) y)) (-.f64 0 (/.f64 2 x)))
(/.f64 (neg.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) y)) (-.f64 0 (/.f64 (/.f64 y x) x)))
(/.f64 (neg.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) (/.f64 y x))) (neg.f64 (/.f64 y x)))
(/.f64 (neg.f64 (neg.f64 (*.f64 y (*.f64 x 8)))) (*.f64 y 8))
(/.f64 (neg.f64 (neg.f64 (/.f64 -2 (/.f64 -1 y)))) (*.f64 y (/.f64 2 x)))
(/.f64 (neg.f64 (neg.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)))) (*.f64 y 8))
(/.f64 (neg.f64 (neg.f64 (/.f64 (+.f64 x x) (/.f64 -1 y)))) (*.f64 y -2))
(/.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 y x) (/.f64 1 y)))) (*.f64 (/.f64 y x) (/.f64 y x)))
(/.f64 (neg.f64 (neg.f64 (*.f64 y (*.f64 x -2)))) (*.f64 y -2))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 x (*.f64 y 4))))) (neg.f64 (*.f64 y 4)))
(pow.f64 x 1)
(neg.f64 (neg.f64 x))
(neg.f64 (/.f64 x (/.f64 y (neg.f64 y))))
Outputs
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 x 0)
x
(+.f64 x (/.f64 0 y))
x
(+.f64 x (/.f64 0 (/.f64 -1 y)))
x
(+.f64 0 x)
x
(+.f64 -1 (-.f64 x -1))
x
(+.f64 -1 (-.f64 1 (/.f64 x (/.f64 y (neg.f64 y)))))
x
(+.f64 (/.f64 x 2) (/.f64 x 2))
x
(+.f64 (-.f64 x -1) -1)
x
(+.f64 (/.f64 0 y) x)
x
(+.f64 (/.f64 0 (/.f64 -1 y)) x)
x
(-.f64 x 0)
x
(-.f64 0 (neg.f64 x))
x
(-.f64 0 (/.f64 x (/.f64 y (neg.f64 y))))
x
(/.f64 x 1)
x
(/.f64 x (neg.f64 (/.f64 y (neg.f64 y))))
x
(/.f64 y (/.f64 y x))
x
(/.f64 y (neg.f64 (neg.f64 (/.f64 y x))))
x
(/.f64 y (-.f64 0 (neg.f64 (/.f64 y x))))
x
(/.f64 y (-.f64 0 (/.f64 -1 (/.f64 x y))))
x
(/.f64 (/.f64 x y) (/.f64 1 y))
x
(/.f64 (/.f64 x y) (-.f64 0 (/.f64 -1 y)))
x
(/.f64 1 (/.f64 1 x))
x
(/.f64 (+.f64 x x) 2)
x
(/.f64 (+.f64 x x) (-.f64 0 (*.f64 2 (/.f64 y (neg.f64 y)))))
x
(/.f64 (+.f64 y y) (*.f64 y (/.f64 2 x)))
x
(/.f64 2 (*.f64 2 (/.f64 1 x)))
x
(/.f64 2 (/.f64 2 x))
x
(/.f64 (*.f64 (/.f64 x y) 2) (/.f64 2 y))
x
(/.f64 (*.f64 x 4) 4)
x
(/.f64 (*.f64 y 4) (*.f64 (/.f64 y x) 4))
x
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 y) x))
x
(/.f64 (/.f64 1 y) (/.f64 (/.f64 -2 x) (*.f64 y -2)))
x
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) y))
x
(/.f64 (neg.f64 x) -1)
x
(/.f64 (neg.f64 x) (/.f64 y (neg.f64 y)))
x
(/.f64 (neg.f64 y) (neg.f64 (/.f64 y x)))
x
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 x y)))
x
(/.f64 -1 (/.f64 -1 x))
x
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 y)))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (/.f64 2 y) (*.f64 (/.f64 y x) (/.f64 y x)))))
(/.f64 y (/.f64 2 (/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (/.f64 y x) (/.f64 y x)))))
(/.f64 (/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 2 y))
(/.f64 4 (/.f64 (*.f64 y 4) (*.f64 x y)))
x
(/.f64 4 (*.f64 2 (*.f64 2 (/.f64 1 x))))
x
(/.f64 4 (*.f64 2 (/.f64 2 x)))
x
(/.f64 (*.f64 (/.f64 x y) 4) (*.f64 2 (/.f64 2 y)))
x
(/.f64 (*.f64 x 8) 8)
x
(/.f64 (*.f64 y 8) (*.f64 (/.f64 y x) 8))
x
(/.f64 (*.f64 x -2) -2)
x
(/.f64 (*.f64 x -2) (*.f64 2 (/.f64 y (neg.f64 y))))
x
(/.f64 (*.f64 x y) y)
x
(/.f64 (/.f64 y (/.f64 1/2 x)) (+.f64 y y))
x
(/.f64 (/.f64 y (/.f64 1/2 x)) (/.f64 -2 (/.f64 -1 y)))
x
(/.f64 (*.f64 x (*.f64 y 4)) (*.f64 y 4))
x
(/.f64 (*.f64 x (*.f64 y 4)) (/.f64 -4 (/.f64 -1 y)))
x
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 y))
x
(/.f64 (/.f64 y (neg.f64 y)) (/.f64 -1 x))
x
(/.f64 1/2 (/.f64 1/2 x))
x
(/.f64 (*.f64 y -2) (*.f64 2 (neg.f64 (/.f64 y x))))
x
(/.f64 (*.f64 y -2) (*.f64 2 (/.f64 -1 (/.f64 x y))))
x
(/.f64 (*.f64 y -2) (neg.f64 (*.f64 y (/.f64 2 x))))
x
(/.f64 8 (*.f64 2 (/.f64 (*.f64 y 4) (*.f64 x y))))
x
(/.f64 -2 (-.f64 0 (*.f64 2 (/.f64 1 x))))
x
(/.f64 -2 (-.f64 0 (/.f64 2 x)))
x
(/.f64 (*.f64 (/.f64 y x) 4) (*.f64 2 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 y))))
x
(/.f64 (*.f64 (/.f64 x y) 8) (*.f64 (/.f64 1 y) 8))
x
(/.f64 (*.f64 2 (*.f64 x 8)) 16)
x
(/.f64 (*.f64 (neg.f64 x) 4) -4)
x
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 (/.f64 2 y) (*.f64 y -2)))
(*.f64 4 (/.f64 (neg.f64 x) (*.f64 y (*.f64 -2 (/.f64 2 y)))))
(/.f64 (*.f64 x -4) (*.f64 y (*.f64 (/.f64 2 y) -2)))
(/.f64 (/.f64 y (/.f64 2 (*.f64 x -4))) (*.f64 y -2))
(/.f64 (*.f64 y (*.f64 x 8)) (*.f64 y 8))
x
(/.f64 (/.f64 (/.f64 x y) 1/4) (/.f64 4 y))
x
(/.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 y))
x
(/.f64 (/.f64 -2 (/.f64 -1 y)) (*.f64 y (/.f64 2 x)))
x
(/.f64 (/.f64 (*.f64 (/.f64 x y) 4) (/.f64 1 y)) 4)
x
(/.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)) (*.f64 y 8))
x
(/.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)) (/.f64 -8 (/.f64 -1 y)))
x
(/.f64 (/.f64 (+.f64 x x) (/.f64 -1 y)) (*.f64 y -2))
x
(/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) (*.f64 (/.f64 y x) (/.f64 y x)))
x
(/.f64 (/.f64 x (/.f64 y (neg.f64 y))) -1)
x
(/.f64 (/.f64 x (+.f64 y y)) (*.f64 (/.f64 1 y) 1/2))
x
(/.f64 -4 (-.f64 0 (/.f64 (*.f64 y 4) (*.f64 x y))))
x
(/.f64 (/.f64 x 2) 1/2)
x
(/.f64 (/.f64 y 2) (/.f64 (/.f64 y x) 2))
x
(/.f64 (neg.f64 (*.f64 y 4)) (-.f64 0 (*.f64 (/.f64 y x) 4)))
x
(/.f64 (/.f64 -1 y) (-.f64 0 (/.f64 (/.f64 1 y) x)))
x
(/.f64 (neg.f64 (*.f64 (/.f64 x y) 2)) (neg.f64 (/.f64 2 y)))
x
(/.f64 (*.f64 y (*.f64 x -2)) (*.f64 y -2))
x
(/.f64 (*.f64 y (*.f64 x -2)) (neg.f64 (/.f64 -2 (/.f64 -1 y))))
x
(/.f64 (neg.f64 (*.f64 x (*.f64 y 4))) (neg.f64 (*.f64 y 4)))
x
(/.f64 (*.f64 2 (/.f64 x (neg.f64 y))) (*.f64 2 (/.f64 -1 y)))
x
(/.f64 (*.f64 2 (*.f64 y (*.f64 x 8))) (*.f64 2 (*.f64 y 8)))
x
(/.f64 (*.f64 2 (/.f64 (*.f64 (/.f64 x y) 4) (/.f64 1 y))) 8)
x
(/.f64 (*.f64 2 (/.f64 (*.f64 x 8) (/.f64 1 y))) (*.f64 2 (*.f64 y 8)))
x
(/.f64 (*.f64 2 (/.f64 (+.f64 x x) (/.f64 -1 y))) (*.f64 (neg.f64 y) 4))
x
(/.f64 (*.f64 2 (/.f64 (/.f64 y x) (/.f64 1 y))) (*.f64 (/.f64 y x) (*.f64 y (/.f64 2 x))))
(/.f64 (*.f64 2 (/.f64 y (*.f64 x (/.f64 1 y)))) (*.f64 y (*.f64 (/.f64 2 x) (/.f64 y x))))
(/.f64 (*.f64 2 (/.f64 y (/.f64 1 (/.f64 x x)))) (*.f64 y (/.f64 2 x)))
(/.f64 (*.f64 y 2) (*.f64 y (/.f64 2 x)))
(/.f64 (*.f64 2 (*.f64 y (*.f64 x -2))) (*.f64 (neg.f64 y) 4))
x
(/.f64 (*.f64 2 (neg.f64 (*.f64 x (*.f64 y 4)))) (*.f64 2 (neg.f64 (*.f64 y 4))))
x
(/.f64 -1/2 (neg.f64 (/.f64 1/2 x)))
x
(/.f64 (*.f64 2 (/.f64 x (/.f64 y (neg.f64 y)))) -2)
x
(/.f64 (*.f64 2 (/.f64 -2 (/.f64 -1 y))) (*.f64 (/.f64 y x) 4))
x
(/.f64 (/.f64 y 1/2) (*.f64 y (/.f64 2 x)))
x
(/.f64 (/.f64 (*.f64 x y) 2) (/.f64 y 2))
x
(/.f64 (/.f64 (*.f64 x y) (*.f64 y 4)) 1/4)
x
(/.f64 (/.f64 (*.f64 x y) 1/2) (+.f64 y y))
x
(/.f64 (/.f64 (/.f64 -2 (/.f64 -1 y)) y) (/.f64 2 x))
x
(/.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) y) (/.f64 (/.f64 y x) x))
x
(/.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) (/.f64 y x)) (/.f64 y x))
x
(/.f64 (neg.f64 (*.f64 y (/.f64 2 x))) (-.f64 0 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 2 y))))
(*.f64 (/.f64 2 x) (/.f64 y (*.f64 (/.f64 2 y) (*.f64 (/.f64 y x) (/.f64 y x)))))
(/.f64 y (/.f64 2 (/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (/.f64 y x) (/.f64 y x)))))
(/.f64 (/.f64 (*.f64 y (/.f64 2 x)) (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 2 y))
(/.f64 (neg.f64 (/.f64 y (neg.f64 y))) (-.f64 0 (/.f64 -1 x)))
x
(/.f64 (neg.f64 (*.f64 (/.f64 x y) 4)) (-.f64 0 (*.f64 2 (/.f64 2 y))))
x
(/.f64 (neg.f64 (neg.f64 (*.f64 (/.f64 x y) 2))) (/.f64 2 y))
x
(/.f64 (neg.f64 (*.f64 y (*.f64 x 8))) (neg.f64 (*.f64 y 8)))
x
(/.f64 (neg.f64 (/.f64 -2 (/.f64 -1 y))) (neg.f64 (*.f64 y (/.f64 2 x))))
x
(/.f64 (neg.f64 (/.f64 (*.f64 x 8) (/.f64 1 y))) (neg.f64 (*.f64 y 8)))
x
(/.f64 (neg.f64 (/.f64 (+.f64 x x) (/.f64 -1 y))) (+.f64 y y))
x
(/.f64 (neg.f64 (/.f64 (/.f64 y x) (/.f64 1 y))) (neg.f64 (*.f64 (/.f64 y x) (/.f64 y x))))
x
(/.f64 (neg.f64 (*.f64 y (*.f64 x -2))) (+.f64 y y))
x
(/.f64 (neg.f64 (neg.f64 (*.f64 x (*.f64 y 4)))) (*.f64 y 4))
x
(/.f64 (neg.f64 (neg.f64 (*.f64 x (*.f64 y 4)))) (-.f64 0 (neg.f64 (*.f64 y 4))))
x
(/.f64 (/.f64 (*.f64 x 8) y) (/.f64 8 y))
x
(/.f64 (neg.f64 (/.f64 y 2)) (-.f64 0 (/.f64 (/.f64 y x) 2)))
x
(/.f64 (neg.f64 (/.f64 y 1/2)) (neg.f64 (*.f64 y (/.f64 2 x))))
x
(/.f64 (neg.f64 (/.f64 x (+.f64 y y))) (-.f64 0 (*.f64 (/.f64 1 y) 1/2)))
x
(/.f64 (neg.f64 (*.f64 2 (*.f64 y (*.f64 x 8)))) (-.f64 0 (*.f64 2 (*.f64 y 8))))
x
(/.f64 (neg.f64 (*.f64 2 (/.f64 -2 (/.f64 -1 y)))) (-.f64 0 (*.f64 (/.f64 y x) 4)))
x
(/.f64 (neg.f64 (*.f64 2 (/.f64 (*.f64 x 8) (/.f64 1 y)))) (-.f64 0 (*.f64 2 (*.f64 y 8))))
x
(/.f64 (neg.f64 (*.f64 2 (/.f64 (+.f64 x x) (/.f64 -1 y)))) (-.f64 0 (*.f64 (neg.f64 y) 4)))
x
(/.f64 (neg.f64 (*.f64 2 (/.f64 (/.f64 y x) (/.f64 1 y)))) (-.f64 0 (*.f64 (/.f64 y x) (*.f64 y (/.f64 2 x)))))
(/.f64 (*.f64 2 (/.f64 y (*.f64 x (/.f64 1 y)))) (*.f64 y (*.f64 (/.f64 2 x) (/.f64 y x))))
(/.f64 (*.f64 2 (/.f64 y (/.f64 1 (/.f64 x x)))) (*.f64 y (/.f64 2 x)))
(/.f64 (*.f64 y 2) (*.f64 y (/.f64 2 x)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 y (*.f64 x -2)))) (-.f64 0 (*.f64 (neg.f64 y) 4)))
x
(/.f64 (neg.f64 (/.f64 (*.f64 x y) 2)) (-.f64 0 (/.f64 y 2)))
x
(/.f64 (neg.f64 (/.f64 (*.f64 x y) 1/2)) (*.f64 y -2))
x
(/.f64 (neg.f64 (/.f64 (/.f64 -2 (/.f64 -1 y)) y)) (-.f64 0 (/.f64 2 x)))
x
(/.f64 (neg.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) y)) (-.f64 0 (/.f64 (/.f64 y x) x)))
x
(/.f64 (neg.f64 (/.f64 (/.f64 (/.f64 y x) (/.f64 1 y)) (/.f64 y x))) (neg.f64 (/.f64 y x)))
x
(/.f64 (neg.f64 (neg.f64 (*.f64 y (*.f64 x 8)))) (*.f64 y 8))
x
(/.f64 (neg.f64 (neg.f64 (/.f64 -2 (/.f64 -1 y)))) (*.f64 y (/.f64 2 x)))
x
(/.f64 (neg.f64 (neg.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)))) (*.f64 y 8))
x
(/.f64 (neg.f64 (neg.f64 (/.f64 (+.f64 x x) (/.f64 -1 y)))) (*.f64 y -2))
x
(/.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 y x) (/.f64 1 y)))) (*.f64 (/.f64 y x) (/.f64 y x)))
x
(/.f64 (neg.f64 (neg.f64 (*.f64 y (*.f64 x -2)))) (*.f64 y -2))
x
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 x (*.f64 y 4))))) (neg.f64 (*.f64 y 4)))
x
(pow.f64 x 1)
x
(neg.f64 (neg.f64 x))
x
(neg.f64 (/.f64 x (/.f64 y (neg.f64 y))))
x

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 y (/.f64 1 y))
Compiler

Compiled 20 to 12 computations (40% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@0
(*.f64 y (/.f64 1 y))
0.0ms
y
@-inf
(*.f64 y (/.f64 1 y))
0.0ms
y
@inf
(*.f64 y (/.f64 1 y))

rewrite98.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1742×rational.json-1
1742×rational.json-2
1742×rational.json-3
1740×rational.json-4
1190×rational.json-simplify-35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0613
1527
21337
32921
48641
527521
664171
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 y (/.f64 1 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 1)))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0113
Stop Event
saturated
Counts
13 → 1
Calls
Call 1
Inputs
1
1
1
1
1
1
1
1
1
1
1
1
1
Outputs
1
1
1
1
1
1
1
1
1
1
1
1
1

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
14.9b
(/.f64 (/.f64 x y) (/.f64 1 y))
Compiler

Compiled 18 to 9 computations (50% saved)

series0.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite112.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1848×rational.json-1
1848×rational.json-2
1610×rational.json-simplify-35
978×rational.json-simplify-50
890×rational.json-simplify-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0819
17413
22531
39011
428471
573061
Stop Event
node limit
Counts
1 → 72
Calls
Call 1
Inputs
(/.f64 (/.f64 x y) (/.f64 1 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 y (*.f64 y (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (/.f64 1/2 (/.f64 y x)) (*.f64 x (/.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 y (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1 y) (/.f64 y 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 1/2 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 (/.f64 1 y) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1 (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 2 y)) (/.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 2 y)) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (*.f64 (*.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (/.f64 x (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (*.f64 (*.f64 x 1/2) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x y) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (/.f64 1 (*.f64 y (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 4) (/.f64 2 (*.f64 (/.f64 2 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 y (/.f64 4 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 y y)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (*.f64 y (neg.f64 (/.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 x) y) (/.f64 -2 (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 x) y) (/.f64 1 (/.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (neg.f64 x)) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 -1 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (/.f64 (neg.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (*.f64 y (neg.f64 (/.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 (/.f64 2 y)) (/.f64 (neg.f64 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 2) (*.f64 x (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 2 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 y x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 y) (*.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/2 y)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (*.f64 x (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (+.f64 y y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) (/.f64 y 2)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 y) (/.f64 2 x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x y) 1/2) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 2 y)) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 y (/.f64 y x))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (/.f64 y x))) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 (/.f64 2 y) 4)) (*.f64 (/.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (/.f64 4 x))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 (neg.f64 y) y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (neg.f64 y) y)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y (neg.f64 (/.f64 1 y)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (neg.f64 (/.f64 1 y)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -1 y)) (/.f64 (neg.f64 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 (/.f64 y x)) (/.f64 1/2 (/.f64 y x))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 (/.f64 2 x)) (/.f64 1 (/.f64 2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x . x)))))

simplify94.0ms (1.1%)

Algorithm
egg-herbie
Rules
1590×rational.json-simplify-51
1180×rational.json-simplify-43
1028×rational.json-simplify-61
874×rational.json-simplify-49
718×rational.json-simplify-44
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0139228
1284216
2889192
35191192
Stop Event
node limit
Counts
96 → 77
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 x 0)
(+.f64 0 x)
(+.f64 -1 (-.f64 1 (neg.f64 x)))
(+.f64 (*.f64 x 1/2) (*.f64 x 1/2))
(-.f64 x 0)
(-.f64 0 (neg.f64 x))
(*.f64 x 1)
(*.f64 y (/.f64 x y))
(*.f64 y (/.f64 y (*.f64 y (/.f64 y x))))
(*.f64 y (+.f64 (/.f64 1/2 (/.f64 y x)) (*.f64 x (/.f64 1/2 y))))
(*.f64 (/.f64 x y) y)
(*.f64 1 x)
(*.f64 (/.f64 1 y) (*.f64 x y))
(*.f64 (+.f64 x x) 1/2)
(*.f64 (+.f64 x x) (/.f64 y (+.f64 y y)))
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 y) (/.f64 y 2)))
(*.f64 (+.f64 y y) (/.f64 1/2 (/.f64 y x)))
(*.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 y)))
(*.f64 (+.f64 y y) (/.f64 (/.f64 1 y) (/.f64 2 x)))
(*.f64 2 (/.f64 1 (/.f64 2 x)))
(*.f64 2 (*.f64 x 1/2))
(*.f64 (*.f64 x (/.f64 2 y)) (/.f64 y 2))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 y 1/2))
(*.f64 (/.f64 2 y) (*.f64 (*.f64 x y) 1/2))
(*.f64 (/.f64 2 y) (/.f64 x (/.f64 2 y)))
(*.f64 (/.f64 2 y) (*.f64 (*.f64 x 1/2) y))
(*.f64 (*.f64 x y) (/.f64 1 y))
(*.f64 (*.f64 y y) (/.f64 1 (*.f64 y (/.f64 y x))))
(*.f64 (*.f64 (/.f64 x y) 4) (/.f64 2 (*.f64 (/.f64 2 y) 4)))
(*.f64 (*.f64 x 4) 1/4)
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 y (/.f64 4 x))))
(*.f64 (*.f64 x (+.f64 y y)) (/.f64 1/2 y))
(*.f64 (neg.f64 x) -1)
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 y) y)))
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y (neg.f64 (/.f64 1 y)))))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 -2 (/.f64 2 y)))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 1 (/.f64 -1 y)))
(*.f64 (*.f64 y (neg.f64 x)) (/.f64 -1 y))
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 y x)))
(*.f64 -1 (neg.f64 x))
(*.f64 -1 (/.f64 x (/.f64 (neg.f64 y) y)))
(*.f64 -1 (/.f64 x (*.f64 y (neg.f64 (/.f64 1 y)))))
(*.f64 (/.f64 -2 (/.f64 2 y)) (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 y 2) (*.f64 x (/.f64 2 y)))
(*.f64 (/.f64 1 (/.f64 2 x)) 2)
(*.f64 1/2 (+.f64 x x))
(*.f64 (/.f64 1/2 (/.f64 y x)) (+.f64 y y))
(*.f64 (/.f64 1/2 y) (*.f64 x (+.f64 y y)))
(*.f64 (/.f64 -1 y) (*.f64 y (neg.f64 x)))
(*.f64 (*.f64 x 1/2) 2)
(*.f64 (*.f64 x (/.f64 1/2 y)) (+.f64 y y))
(*.f64 (*.f64 y 1/2) (*.f64 x (/.f64 2 y)))
(*.f64 (/.f64 y (+.f64 y y)) (+.f64 x x))
(*.f64 (*.f64 (/.f64 1 y) (/.f64 y 2)) (+.f64 x x))
(*.f64 (/.f64 (/.f64 1 y) (/.f64 2 x)) (+.f64 y y))
(*.f64 (*.f64 (*.f64 x y) 1/2) (/.f64 2 y))
(*.f64 (/.f64 x (/.f64 2 y)) (/.f64 2 y))
(*.f64 1/4 (*.f64 x 4))
(*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y)
(*.f64 (/.f64 1 (*.f64 y (/.f64 y x))) (*.f64 y y))
(*.f64 (/.f64 2 (*.f64 (/.f64 2 y) 4)) (*.f64 (/.f64 x y) 4))
(*.f64 (/.f64 1 (*.f64 y (/.f64 4 x))) (*.f64 y 4))
(*.f64 (/.f64 x (/.f64 (neg.f64 y) y)) -1)
(*.f64 (/.f64 1 (/.f64 (neg.f64 y) y)) (neg.f64 x))
(*.f64 (/.f64 x (*.f64 y (neg.f64 (/.f64 1 y)))) -1)
(*.f64 (/.f64 1 (*.f64 y (neg.f64 (/.f64 1 y)))) (neg.f64 x))
(*.f64 (/.f64 1 (/.f64 -1 y)) (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))
(*.f64 (+.f64 (/.f64 1/2 (/.f64 y x)) (/.f64 1/2 (/.f64 y x))) y)
(*.f64 (+.f64 (/.f64 1 (/.f64 2 x)) (/.f64 1 (/.f64 2 x))) 1)
(pow.f64 x 1)
(neg.f64 (neg.f64 x))
Outputs
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 x 0)
x
(+.f64 0 x)
x
(+.f64 -1 (-.f64 1 (neg.f64 x)))
x
(+.f64 (*.f64 x 1/2) (*.f64 x 1/2))
x
(-.f64 x 0)
x
(-.f64 0 (neg.f64 x))
x
(*.f64 x 1)
x
(*.f64 y (/.f64 x y))
x
(*.f64 y (/.f64 y (*.f64 y (/.f64 y x))))
x
(*.f64 y (+.f64 (/.f64 1/2 (/.f64 y x)) (*.f64 x (/.f64 1/2 y))))
x
(*.f64 (/.f64 x y) y)
x
(*.f64 1 x)
x
(*.f64 (/.f64 1 y) (*.f64 x y))
x
(*.f64 (+.f64 x x) 1/2)
x
(*.f64 (+.f64 x x) (/.f64 y (+.f64 y y)))
x
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 y) (/.f64 y 2)))
x
(*.f64 (+.f64 y y) (/.f64 1/2 (/.f64 y x)))
x
(*.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 y)))
x
(*.f64 (+.f64 y y) (/.f64 (/.f64 1 y) (/.f64 2 x)))
x
(*.f64 2 (/.f64 1 (/.f64 2 x)))
x
(*.f64 2 (*.f64 x 1/2))
x
(*.f64 (*.f64 x (/.f64 2 y)) (/.f64 y 2))
x
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 y 1/2))
x
(*.f64 (/.f64 2 y) (*.f64 (*.f64 x y) 1/2))
x
(*.f64 (/.f64 2 y) (/.f64 x (/.f64 2 y)))
x
(*.f64 (/.f64 2 y) (*.f64 (*.f64 x 1/2) y))
x
(*.f64 (*.f64 x y) (/.f64 1 y))
x
(*.f64 (*.f64 y y) (/.f64 1 (*.f64 y (/.f64 y x))))
(*.f64 (*.f64 y y) (/.f64 x (*.f64 y y)))
(*.f64 (*.f64 (/.f64 x y) 4) (/.f64 2 (*.f64 (/.f64 2 y) 4)))
(*.f64 (/.f64 x y) (*.f64 4 (/.f64 (/.f64 2 (/.f64 2 y)) 4)))
(*.f64 (/.f64 x y) (*.f64 4 (/.f64 1/2 (/.f64 2 y))))
(*.f64 (/.f64 y 4) (*.f64 x (/.f64 4 y)))
(*.f64 (*.f64 x 4) 1/4)
x
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 y (/.f64 4 x))))
x
(*.f64 (*.f64 x (+.f64 y y)) (/.f64 1/2 y))
x
(*.f64 (neg.f64 x) -1)
x
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 y) y)))
x
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y (neg.f64 (/.f64 1 y)))))
x
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 -2 (/.f64 2 y)))
x
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 1 (/.f64 -1 y)))
x
(*.f64 (*.f64 y (neg.f64 x)) (/.f64 -1 y))
x
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 y x)))
x
(*.f64 -1 (neg.f64 x))
x
(*.f64 -1 (/.f64 x (/.f64 (neg.f64 y) y)))
x
(*.f64 -1 (/.f64 x (*.f64 y (neg.f64 (/.f64 1 y)))))
x
(*.f64 (/.f64 -2 (/.f64 2 y)) (/.f64 (neg.f64 x) y))
x
(*.f64 (/.f64 y 2) (*.f64 x (/.f64 2 y)))
x
(*.f64 (/.f64 1 (/.f64 2 x)) 2)
x
(*.f64 1/2 (+.f64 x x))
x
(*.f64 (/.f64 1/2 (/.f64 y x)) (+.f64 y y))
x
(*.f64 (/.f64 1/2 y) (*.f64 x (+.f64 y y)))
x
(*.f64 (/.f64 -1 y) (*.f64 y (neg.f64 x)))
x
(*.f64 (*.f64 x 1/2) 2)
x
(*.f64 (*.f64 x (/.f64 1/2 y)) (+.f64 y y))
x
(*.f64 (*.f64 y 1/2) (*.f64 x (/.f64 2 y)))
x
(*.f64 (/.f64 y (+.f64 y y)) (+.f64 x x))
x
(*.f64 (*.f64 (/.f64 1 y) (/.f64 y 2)) (+.f64 x x))
x
(*.f64 (/.f64 (/.f64 1 y) (/.f64 2 x)) (+.f64 y y))
x
(*.f64 (*.f64 (*.f64 x y) 1/2) (/.f64 2 y))
x
(*.f64 (/.f64 x (/.f64 2 y)) (/.f64 2 y))
x
(*.f64 1/4 (*.f64 x 4))
x
(*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y)
x
(*.f64 (/.f64 1 (*.f64 y (/.f64 y x))) (*.f64 y y))
(*.f64 (*.f64 y y) (/.f64 1 (*.f64 y (/.f64 y x))))
(*.f64 (*.f64 y y) (/.f64 x (*.f64 y y)))
(*.f64 (/.f64 2 (*.f64 (/.f64 2 y) 4)) (*.f64 (/.f64 x y) 4))
(*.f64 (/.f64 x y) (*.f64 4 (/.f64 (/.f64 2 (/.f64 2 y)) 4)))
(*.f64 (/.f64 x y) (*.f64 4 (/.f64 1/2 (/.f64 2 y))))
(*.f64 (/.f64 y 4) (*.f64 x (/.f64 4 y)))
(*.f64 (/.f64 1 (*.f64 y (/.f64 4 x))) (*.f64 y 4))
x
(*.f64 (/.f64 x (/.f64 (neg.f64 y) y)) -1)
x
(*.f64 (/.f64 1 (/.f64 (neg.f64 y) y)) (neg.f64 x))
x
(*.f64 (/.f64 x (*.f64 y (neg.f64 (/.f64 1 y)))) -1)
x
(*.f64 (/.f64 1 (*.f64 y (neg.f64 (/.f64 1 y)))) (neg.f64 x))
x
(*.f64 (/.f64 1 (/.f64 -1 y)) (/.f64 (neg.f64 x) y))
x
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))
x
(*.f64 (+.f64 (/.f64 1/2 (/.f64 y x)) (/.f64 1/2 (/.f64 y x))) y)
x
(*.f64 (+.f64 (/.f64 1 (/.f64 2 x)) (/.f64 1 (/.f64 2 x))) 1)
x
(pow.f64 x 1)
x
(neg.f64 (neg.f64 x))
x

localize101.0ms (1.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1/2 (*.f64 (/.f64 y x) (/.f64 1/2 y)))
15.9b
(*.f64 (/.f64 y x) (/.f64 1/2 y))
Compiler

Compiled 27 to 14 computations (48.1% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite73.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1836×rational.json-simplify-35
1146×rational.json-simplify-54
1078×rational.json-simplify-50
1034×exponential.json-3
1034×rational.json-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0944
16844
222732
310018
434788
Stop Event
node limit
Counts
2 → 221
Calls
Call 1
Inputs
(*.f64 (/.f64 y x) (/.f64 1/2 y))
(/.f64 1/2 (*.f64 (/.f64 y x) (/.f64 1/2 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/2 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (*.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (-.f64 0 (/.f64 x (neg.f64 (/.f64 1/2 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (-.f64 0 (*.f64 y (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y x) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y x) (/.f64 1 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y x) (/.f64 (neg.f64 y) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (-.f64 0 (*.f64 (/.f64 x y) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 y) (-.f64 0 (neg.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (neg.f64 (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 y (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 x) (*.f64 2 (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 x)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 x)) (*.f64 2 (/.f64 1 (/.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 x)) (+.f64 (/.f64 (neg.f64 y) -1/2) (/.f64 (neg.f64 y) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (*.f64 (/.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 x) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 x) (*.f64 4 (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y x) 1/2) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (*.f64 (/.f64 x y) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y x)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y x)) (neg.f64 (/.f64 1 (/.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1/2 x)) (/.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1/2 y)) (neg.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (/.f64 x (neg.f64 (/.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (*.f64 y (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 y (*.f64 (+.f64 x x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (/.f64 x y) (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y x) 4) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y x) 4) (+.f64 (*.f64 2 (/.f64 1 (/.f64 1/2 y))) (*.f64 2 (/.f64 1 (/.f64 1/2 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (+.f64 x x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 8) (*.f64 (*.f64 x 4) (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (/.f64 y x))) (*.f64 (neg.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1/2 y) 4) (*.f64 (/.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 2 x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (/.f64 1/2 y))) (*.f64 2 (neg.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 (neg.f64 x) (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 2 (/.f64 x (neg.f64 (/.f64 1/2 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (neg.f64 (*.f64 y (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 1/2 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (*.f64 y -2)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/2 (/.f64 x y)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1/2 y) x) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 x) (/.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 y y)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (/.f64 1/2 y)) (*.f64 x (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 x)) (neg.f64 (*.f64 2 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 y x) -2) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y y) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (/.f64 y y)) (*.f64 (+.f64 x x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (neg.f64 y)) (*.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 y) x) (*.f64 (/.f64 1/2 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (*.f64 (+.f64 x x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 y) 4) (*.f64 2 (*.f64 (/.f64 x y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 -1/2 (/.f64 x y))) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (/.f64 y x) -2)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 (neg.f64 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (+.f64 (*.f64 (/.f64 x y) (*.f64 y -2)) (*.f64 (/.f64 x y) (*.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y y) 8) (+.f64 (*.f64 (*.f64 x 4) (*.f64 y 4)) (*.f64 (*.f64 x 4) (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (/.f64 y y))) (*.f64 2 (*.f64 (+.f64 x x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 y (neg.f64 y))) (*.f64 (neg.f64 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 y x) 4)) (*.f64 (+.f64 y y) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (/.f64 2 x))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (/.f64 1/2 y)))) (+.f64 (*.f64 2 (neg.f64 (/.f64 x y))) (*.f64 2 (neg.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (/.f64 y x)))) (+.f64 (*.f64 (neg.f64 y) 4) (*.f64 (neg.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 y) 4) (+.f64 (*.f64 (neg.f64 x) (*.f64 y 4)) (*.f64 (neg.f64 x) (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 y) 4) (+.f64 (*.f64 2 (/.f64 x (neg.f64 (/.f64 1/2 y)))) (*.f64 2 (/.f64 x (neg.f64 (/.f64 1/2 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (/.f64 1 y) x)) (*.f64 (/.f64 1 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 y) (*.f64 x 4)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (/.f64 1 y)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1/2 y) (/.f64 1 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 y y) (*.f64 x 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 y (*.f64 y -2)) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 -1/2 (/.f64 x y)) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 1/2 y) x) 2) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 y x) -2) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (+.f64 x x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 y x) (*.f64 y 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 1/2 y) 4)) (-.f64 0 (*.f64 (/.f64 x y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y 4)) (-.f64 0 (*.f64 y (*.f64 (+.f64 x x) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 y y))) (neg.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y (*.f64 y -2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -1/2 (/.f64 x y))) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 1/2 y) x)) (neg.f64 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 y)) (neg.f64 (*.f64 (/.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 y x) -2)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y (/.f64 2 x))) (neg.f64 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (*.f64 (+.f64 x x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 1 y) 4) (*.f64 (/.f64 1 y) 4)) (+.f64 (*.f64 2 (*.f64 (/.f64 x y) 4)) (*.f64 2 (*.f64 (/.f64 x y) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (/.f64 1 y)) (neg.f64 (/.f64 1 y))) (+.f64 (neg.f64 (*.f64 (/.f64 x y) 2)) (neg.f64 (*.f64 (/.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/2 (+.f64 x x)) (/.f64 1/2 (+.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 y (/.f64 2 x))) (neg.f64 (*.f64 y (/.f64 2 x)))) (+.f64 (neg.f64 (*.f64 y 4)) (neg.f64 (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/2 (/.f64 1 y)) (/.f64 1/2 (/.f64 1 y))) (*.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 1 y) (*.f64 x 4)) (/.f64 (/.f64 1 y) (*.f64 x 4))) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 -1/2 (/.f64 x y))) (*.f64 2 (/.f64 -1/2 (/.f64 x y)))) (*.f64 (neg.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 (/.f64 y x) -2)) (*.f64 2 (/.f64 (/.f64 y x) -2))) (*.f64 (neg.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 1/2 y) (/.f64 1 y)) (/.f64 (/.f64 1/2 y) (/.f64 1 y))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 y x) (*.f64 y 4)) (/.f64 (/.f64 y x) (*.f64 y 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 y y) (*.f64 x 4)) (/.f64 (/.f64 y y) (*.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 y (*.f64 y -2)) x) (/.f64 (/.f64 y (*.f64 y -2)) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 -1/2 (/.f64 x y)) y) (/.f64 (/.f64 -1/2 (/.f64 x y)) y)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 (/.f64 1/2 y) x) 2) (/.f64 (/.f64 (/.f64 1/2 y) x) 2)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 (/.f64 y x) -2) y) (/.f64 (/.f64 (/.f64 y x) -2) y)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (/.f64 y y))) (neg.f64 (*.f64 2 (/.f64 y y)))) (+.f64 (neg.f64 (*.f64 x 4)) (neg.f64 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (/.f64 y (*.f64 y -2))) (neg.f64 (/.f64 y (*.f64 y -2)))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (/.f64 -1/2 (/.f64 x y))) (neg.f64 (/.f64 -1/2 (/.f64 x y)))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (/.f64 (/.f64 1/2 y) x)) (neg.f64 (/.f64 (/.f64 1/2 y) x))) (+.f64 (neg.f64 (/.f64 1 y)) (neg.f64 (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (/.f64 (/.f64 y x) -2)) (neg.f64 (/.f64 (/.f64 y x) -2))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 y x) 4)) (neg.f64 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 1 y))) (*.f64 (/.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1/2 (/.f64 1 y))) (*.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (/.f64 1/2 y))) (/.f64 (/.f64 x y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 1 y) x)) (neg.f64 (*.f64 (/.f64 1/2 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 1 y) (*.f64 x 4))) (neg.f64 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 y (/.f64 2 x)))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y (neg.f64 y))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y (neg.f64 y))) (neg.f64 (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 -1/2 (/.f64 x y)))) (/.f64 (neg.f64 y) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 (/.f64 y x) -2))) (/.f64 (neg.f64 y) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 4 (/.f64 y y))) (-.f64 0 (*.f64 (+.f64 x x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 1/2 y) (/.f64 1 y))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (/.f64 1/2 y) x) 2)) (neg.f64 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 2 (/.f64 y y)))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 y (*.f64 y -2)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 -1/2 (/.f64 x y)))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 1/2 y) x))) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 y x) -2))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 y (*.f64 y -2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 -1/2 (/.f64 x y)) y))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (/.f64 y x) -2) y))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1 (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 2 (/.f64 4 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 y (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 1 (*.f64 2 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/2 y)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/2 y)) (/.f64 1 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 2 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 y y) (/.f64 4 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 2) (/.f64 1/2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 y (*.f64 1/2 (/.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 4 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) -2) (/.f64 -1 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (/.f64 y (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 -1 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1/2 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (/.f64 4 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 y y)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 (/.f64 x y) -2) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (/.f64 y (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (neg.f64 y) (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 y (*.f64 (/.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 y (/.f64 4 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1/2 y)) (*.f64 x (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y x) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 1/2 y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 y y)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 x 4)) (*.f64 1/2 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1/2 y)) (*.f64 y (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 1/2 (/.f64 1/2 y))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 y))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 1 y)) (*.f64 (/.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (*.f64 2 (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 y y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 y (/.f64 2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 2 (/.f64 y y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (/.f64 y y))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 4 (/.f64 y y))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 1/2 y)) (/.f64 (/.f64 x y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (/.f64 x y) -2) (/.f64 1/2 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 y (neg.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 y (neg.f64 y))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 y) (/.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 (/.f64 y x) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 y (/.f64 2 x))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 4 (/.f64 x y))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 4 (/.f64 x y))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y y) (/.f64 4 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 4 (/.f64 x y))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 y (neg.f64 x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x . x)))))

simplify123.0ms (1.5%)

Algorithm
egg-herbie
Rules
1344×rational.json-simplify-2
1252×rational.json-simplify-35
1120×rational.json-simplify-57
828×rational.json-simplify-44
740×rational.json-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04171277
112971277
251351277
Stop Event
node limit
Counts
269 → 222
Calls
Call 1
Inputs
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 0 (/.f64 1/2 x))
(+.f64 (/.f64 1/2 x) 0)
(-.f64 0 (neg.f64 (/.f64 1/2 x)))
(-.f64 (/.f64 1/2 x) 0)
(/.f64 y (*.f64 x (+.f64 y y)))
(/.f64 y (-.f64 0 (/.f64 x (neg.f64 (/.f64 1/2 y)))))
(/.f64 y (-.f64 0 (*.f64 y (*.f64 x -2))))
(/.f64 (/.f64 y x) (+.f64 y y))
(/.f64 (/.f64 y x) (/.f64 1 (/.f64 1/2 y)))
(/.f64 (/.f64 y x) (/.f64 (neg.f64 y) -1/2))
(/.f64 1/2 x)
(/.f64 1/2 (-.f64 0 (*.f64 (/.f64 x y) (neg.f64 y))))
(/.f64 (/.f64 1/2 y) (/.f64 x y))
(/.f64 (/.f64 1/2 y) (-.f64 0 (neg.f64 (/.f64 x y))))
(/.f64 1 (+.f64 x x))
(/.f64 1 (neg.f64 (*.f64 x -2)))
(/.f64 (+.f64 y y) (*.f64 y (*.f64 x 4)))
(/.f64 (/.f64 1 x) 2)
(/.f64 (/.f64 1 x) (*.f64 2 (/.f64 y y)))
(/.f64 2 (*.f64 x 4))
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 y 4))
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 2 (/.f64 1 (/.f64 1/2 y))))
(/.f64 (*.f64 y (/.f64 2 x)) (+.f64 (/.f64 (neg.f64 y) -1/2) (/.f64 (neg.f64 y) -1/2)))
(/.f64 (/.f64 1 y) (*.f64 (/.f64 x y) 2))
(/.f64 (/.f64 2 x) 4)
(/.f64 (/.f64 2 x) (*.f64 4 (/.f64 y y)))
(/.f64 (*.f64 (/.f64 y x) 1/2) y)
(/.f64 -1/2 (neg.f64 x))
(/.f64 -1/2 (*.f64 (/.f64 x y) (neg.f64 y)))
(/.f64 (neg.f64 (/.f64 y x)) (*.f64 y -2))
(/.f64 (neg.f64 (/.f64 y x)) (neg.f64 (/.f64 1 (/.f64 1/2 y))))
(/.f64 (neg.f64 (/.f64 1/2 x)) (/.f64 y (neg.f64 y)))
(/.f64 (neg.f64 (/.f64 1/2 y)) (neg.f64 (/.f64 x y)))
(/.f64 (neg.f64 y) (/.f64 x (neg.f64 (/.f64 1/2 y))))
(/.f64 (neg.f64 y) (*.f64 y (*.f64 x -2)))
(/.f64 (*.f64 y 4) (*.f64 y (*.f64 (+.f64 x x) 4)))
(/.f64 -1 (*.f64 x -2))
(/.f64 -1 (*.f64 (/.f64 x y) (*.f64 y -2)))
(/.f64 (*.f64 (/.f64 y x) 4) (*.f64 y 8))
(/.f64 (*.f64 (/.f64 y x) 4) (+.f64 (*.f64 2 (/.f64 1 (/.f64 1/2 y))) (*.f64 2 (/.f64 1 (/.f64 1/2 y)))))
(/.f64 4 (*.f64 (+.f64 x x) 4))
(/.f64 (*.f64 y 8) (*.f64 (*.f64 x 4) (*.f64 y 4)))
(/.f64 (*.f64 2 (neg.f64 (/.f64 y x))) (*.f64 (neg.f64 y) 4))
(/.f64 (*.f64 (/.f64 1/2 y) 4) (*.f64 (/.f64 x y) 4))
(/.f64 (*.f64 2 (/.f64 2 x)) 8)
(/.f64 (*.f64 2 (neg.f64 (/.f64 1/2 y))) (*.f64 2 (neg.f64 (/.f64 x y))))
(/.f64 (*.f64 y -2) (*.f64 (neg.f64 x) (*.f64 y 4)))
(/.f64 (*.f64 y -2) (*.f64 2 (/.f64 x (neg.f64 (/.f64 1/2 y)))))
(/.f64 (*.f64 y -2) (neg.f64 (*.f64 y (*.f64 x 4))))
(/.f64 (*.f64 y (/.f64 1/2 y)) x)
(/.f64 (/.f64 y (*.f64 y -2)) (neg.f64 x))
(/.f64 (/.f64 -1/2 (/.f64 x y)) (neg.f64 y))
(/.f64 (/.f64 (/.f64 1/2 y) x) (/.f64 1 y))
(/.f64 (/.f64 1/2 x) 1)
(/.f64 (/.f64 1/2 x) (/.f64 y y))
(/.f64 (*.f64 2 (/.f64 y y)) (*.f64 x 4))
(/.f64 (*.f64 1/2 (/.f64 1/2 y)) (*.f64 x (/.f64 1/2 y)))
(/.f64 (neg.f64 (/.f64 1 x)) (neg.f64 (*.f64 2 (/.f64 y y))))
(/.f64 (/.f64 (/.f64 y x) -2) (neg.f64 y))
(/.f64 (/.f64 y y) (+.f64 x x))
(/.f64 (*.f64 4 (/.f64 y y)) (*.f64 (+.f64 x x) 4))
(/.f64 (/.f64 y (neg.f64 y)) (*.f64 x -2))
(/.f64 (/.f64 (/.f64 1 y) x) (*.f64 (/.f64 1/2 y) 4))
(/.f64 8 (*.f64 2 (*.f64 (+.f64 x x) 4)))
(/.f64 (*.f64 (/.f64 1 y) 4) (*.f64 2 (*.f64 (/.f64 x y) 4)))
(/.f64 (*.f64 2 (/.f64 -1/2 (/.f64 x y))) (*.f64 y -2))
(/.f64 (*.f64 2 (/.f64 (/.f64 y x) -2)) (*.f64 y -2))
(/.f64 -2 (*.f64 (neg.f64 x) 4))
(/.f64 -2 (neg.f64 (*.f64 x 4)))
(/.f64 -2 (+.f64 (*.f64 (/.f64 x y) (*.f64 y -2)) (*.f64 (/.f64 x y) (*.f64 y -2))))
(/.f64 (*.f64 (+.f64 y y) 8) (+.f64 (*.f64 (*.f64 x 4) (*.f64 y 4)) (*.f64 (*.f64 x 4) (*.f64 y 4))))
(/.f64 (*.f64 2 (*.f64 4 (/.f64 y y))) (*.f64 2 (*.f64 (+.f64 x x) 4)))
(/.f64 (*.f64 2 (/.f64 y (neg.f64 y))) (*.f64 (neg.f64 x) 4))
(/.f64 (*.f64 2 (*.f64 (/.f64 y x) 4)) (*.f64 (+.f64 y y) 8))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 2 x))) 16)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (/.f64 1/2 y)))) (+.f64 (*.f64 2 (neg.f64 (/.f64 x y))) (*.f64 2 (neg.f64 (/.f64 x y)))))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (/.f64 y x)))) (+.f64 (*.f64 (neg.f64 y) 4) (*.f64 (neg.f64 y) 4)))
(/.f64 (*.f64 (neg.f64 y) 4) (+.f64 (*.f64 (neg.f64 x) (*.f64 y 4)) (*.f64 (neg.f64 x) (*.f64 y 4))))
(/.f64 (*.f64 (neg.f64 y) 4) (+.f64 (*.f64 2 (/.f64 x (neg.f64 (/.f64 1/2 y)))) (*.f64 2 (/.f64 x (neg.f64 (/.f64 1/2 y))))))
(/.f64 (*.f64 2 (/.f64 (/.f64 1 y) x)) (*.f64 (/.f64 1 y) 4))
(/.f64 (/.f64 (/.f64 1 y) (*.f64 x 4)) (/.f64 1/2 y))
(/.f64 (/.f64 1/2 (/.f64 1 y)) (*.f64 y x))
(/.f64 (/.f64 (/.f64 1/2 y) (/.f64 1 y)) x)
(/.f64 (/.f64 (/.f64 y y) (*.f64 x 4)) 1/2)
(/.f64 (/.f64 (/.f64 y (*.f64 y -2)) x) -1)
(/.f64 (/.f64 (/.f64 -1/2 (/.f64 x y)) y) -1)
(/.f64 (/.f64 (/.f64 (/.f64 1/2 y) x) 2) (/.f64 1/2 y))
(/.f64 (/.f64 (/.f64 (/.f64 y x) -2) y) -1)
(/.f64 (/.f64 1/2 (+.f64 x x)) 1/2)
(/.f64 (/.f64 (/.f64 y x) (*.f64 y 4)) 1/2)
(/.f64 (neg.f64 (*.f64 (/.f64 1/2 y) 4)) (-.f64 0 (*.f64 (/.f64 x y) 4)))
(/.f64 (neg.f64 (*.f64 y 4)) (-.f64 0 (*.f64 y (*.f64 (+.f64 x x) 4))))
(/.f64 (neg.f64 (*.f64 2 (/.f64 y y))) (neg.f64 (*.f64 x 4)))
(/.f64 (neg.f64 (/.f64 y (*.f64 y -2))) x)
(/.f64 (neg.f64 (/.f64 -1/2 (/.f64 x y))) y)
(/.f64 (neg.f64 (/.f64 (/.f64 1/2 y) x)) (neg.f64 (/.f64 1 y)))
(/.f64 (neg.f64 (/.f64 1 y)) (neg.f64 (*.f64 (/.f64 x y) 2)))
(/.f64 (neg.f64 (/.f64 (/.f64 y x) -2)) y)
(/.f64 (neg.f64 (*.f64 y (/.f64 2 x))) (neg.f64 (*.f64 y 4)))
(/.f64 -4 (-.f64 0 (*.f64 (+.f64 x x) 4)))
(/.f64 (+.f64 (*.f64 (/.f64 1 y) 4) (*.f64 (/.f64 1 y) 4)) (+.f64 (*.f64 2 (*.f64 (/.f64 x y) 4)) (*.f64 2 (*.f64 (/.f64 x y) 4))))
(/.f64 (+.f64 (neg.f64 (/.f64 1 y)) (neg.f64 (/.f64 1 y))) (+.f64 (neg.f64 (*.f64 (/.f64 x y) 2)) (neg.f64 (*.f64 (/.f64 x y) 2))))
(/.f64 (+.f64 (/.f64 1/2 (+.f64 x x)) (/.f64 1/2 (+.f64 x x))) 1)
(/.f64 (+.f64 (neg.f64 (*.f64 y (/.f64 2 x))) (neg.f64 (*.f64 y (/.f64 2 x)))) (+.f64 (neg.f64 (*.f64 y 4)) (neg.f64 (*.f64 y 4))))
(/.f64 (+.f64 (/.f64 1/2 (/.f64 1 y)) (/.f64 1/2 (/.f64 1 y))) (*.f64 x (+.f64 y y)))
(/.f64 (+.f64 (/.f64 (/.f64 1 y) (*.f64 x 4)) (/.f64 (/.f64 1 y) (*.f64 x 4))) (/.f64 1 y))
(/.f64 (+.f64 (*.f64 2 (/.f64 -1/2 (/.f64 x y))) (*.f64 2 (/.f64 -1/2 (/.f64 x y)))) (*.f64 (neg.f64 y) 4))
(/.f64 (+.f64 (*.f64 2 (/.f64 (/.f64 y x) -2)) (*.f64 2 (/.f64 (/.f64 y x) -2))) (*.f64 (neg.f64 y) 4))
(/.f64 (+.f64 (/.f64 (/.f64 1/2 y) (/.f64 1 y)) (/.f64 (/.f64 1/2 y) (/.f64 1 y))) (+.f64 x x))
(/.f64 (+.f64 (/.f64 (/.f64 y x) (*.f64 y 4)) (/.f64 (/.f64 y x) (*.f64 y 4))) 1)
(/.f64 (+.f64 (/.f64 (/.f64 y y) (*.f64 x 4)) (/.f64 (/.f64 y y) (*.f64 x 4))) 1)
(/.f64 (+.f64 (/.f64 (/.f64 y (*.f64 y -2)) x) (/.f64 (/.f64 y (*.f64 y -2)) x)) -2)
(/.f64 (+.f64 (/.f64 (/.f64 -1/2 (/.f64 x y)) y) (/.f64 (/.f64 -1/2 (/.f64 x y)) y)) -2)
(/.f64 (+.f64 (/.f64 (/.f64 (/.f64 1/2 y) x) 2) (/.f64 (/.f64 (/.f64 1/2 y) x) 2)) (/.f64 1 y))
(/.f64 (+.f64 (/.f64 (/.f64 (/.f64 y x) -2) y) (/.f64 (/.f64 (/.f64 y x) -2) y)) -2)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (/.f64 y y))) (neg.f64 (*.f64 2 (/.f64 y y)))) (+.f64 (neg.f64 (*.f64 x 4)) (neg.f64 (*.f64 x 4))))
(/.f64 (+.f64 (neg.f64 (/.f64 y (*.f64 y -2))) (neg.f64 (/.f64 y (*.f64 y -2)))) (+.f64 x x))
(/.f64 (+.f64 (neg.f64 (/.f64 -1/2 (/.f64 x y))) (neg.f64 (/.f64 -1/2 (/.f64 x y)))) (+.f64 y y))
(/.f64 (+.f64 (neg.f64 (/.f64 (/.f64 1/2 y) x)) (neg.f64 (/.f64 (/.f64 1/2 y) x))) (+.f64 (neg.f64 (/.f64 1 y)) (neg.f64 (/.f64 1 y))))
(/.f64 (+.f64 (neg.f64 (/.f64 (/.f64 y x) -2)) (neg.f64 (/.f64 (/.f64 y x) -2))) (+.f64 y y))
(/.f64 (neg.f64 (*.f64 (/.f64 y x) 4)) (neg.f64 (*.f64 y 8)))
(/.f64 (neg.f64 (neg.f64 (/.f64 1 y))) (*.f64 (/.f64 x y) 2))
(/.f64 (neg.f64 (/.f64 1/2 (/.f64 1 y))) (*.f64 y (neg.f64 x)))
(/.f64 (neg.f64 (*.f64 1/2 (/.f64 1/2 y))) (/.f64 (/.f64 x y) -2))
(/.f64 (neg.f64 (/.f64 (/.f64 1 y) x)) (neg.f64 (*.f64 (/.f64 1/2 y) 4)))
(/.f64 (neg.f64 (/.f64 (/.f64 1 y) (*.f64 x 4))) (neg.f64 (/.f64 1/2 y)))
(/.f64 (neg.f64 (neg.f64 (*.f64 y (/.f64 2 x)))) (*.f64 y 4))
(/.f64 (neg.f64 (/.f64 y (neg.f64 y))) (+.f64 x x))
(/.f64 (neg.f64 (/.f64 y (neg.f64 y))) (neg.f64 (*.f64 x -2)))
(/.f64 (neg.f64 (*.f64 2 (/.f64 -1/2 (/.f64 x y)))) (/.f64 (neg.f64 y) -1/2))
(/.f64 (neg.f64 (*.f64 2 (/.f64 (/.f64 y x) -2))) (/.f64 (neg.f64 y) -1/2))
(/.f64 (neg.f64 (*.f64 4 (/.f64 y y))) (-.f64 0 (*.f64 (+.f64 x x) 4)))
(/.f64 (neg.f64 (/.f64 (/.f64 1/2 y) (/.f64 1 y))) (neg.f64 x))
(/.f64 (neg.f64 (/.f64 (/.f64 (/.f64 1/2 y) x) 2)) (neg.f64 (/.f64 1/2 y)))
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (/.f64 y y)))) (*.f64 x 4))
(/.f64 (neg.f64 (neg.f64 (/.f64 y (*.f64 y -2)))) (neg.f64 x))
(/.f64 (neg.f64 (neg.f64 (/.f64 -1/2 (/.f64 x y)))) (neg.f64 y))
(/.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 1/2 y) x))) (/.f64 1 y))
(/.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 y x) -2))) (neg.f64 y))
(pow.f64 (/.f64 1/2 x) 1)
(neg.f64 (neg.f64 (/.f64 1/2 x)))
(neg.f64 (/.f64 (/.f64 y (*.f64 y -2)) x))
(neg.f64 (/.f64 (/.f64 -1/2 (/.f64 x y)) y))
(neg.f64 (/.f64 (/.f64 (/.f64 y x) -2) y))
(+.f64 x 0)
(+.f64 0 x)
(+.f64 -1 (-.f64 1 (neg.f64 x)))
(+.f64 (*.f64 x 1/2) (*.f64 x 1/2))
(-.f64 x 0)
(-.f64 0 (neg.f64 x))
(*.f64 y (/.f64 x y))
(*.f64 x 1)
(*.f64 x (/.f64 y y))
(*.f64 x (/.f64 1 (/.f64 y y)))
(*.f64 1/2 (+.f64 x x))
(*.f64 (/.f64 1/2 y) (*.f64 x (+.f64 y y)))
(*.f64 1 x)
(*.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 y)))
(*.f64 (+.f64 y y) (/.f64 2 (/.f64 4 (/.f64 x y))))
(*.f64 (+.f64 x x) 1/2)
(*.f64 (+.f64 x x) (*.f64 y (/.f64 1/2 y)))
(*.f64 (+.f64 x x) (*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 y))))
(*.f64 (+.f64 x x) (/.f64 1 (*.f64 2 (/.f64 y y))))
(*.f64 (*.f64 x (/.f64 1/2 y)) (+.f64 y y))
(*.f64 (*.f64 x (/.f64 1/2 y)) (/.f64 1 (/.f64 1/2 y)))
(*.f64 (/.f64 x y) y)
(*.f64 2 (*.f64 x 1/2))
(*.f64 2 (/.f64 y (*.f64 y (/.f64 2 x))))
(*.f64 2 (/.f64 x (*.f64 2 (/.f64 y y))))
(*.f64 2 (/.f64 (+.f64 y y) (/.f64 4 (/.f64 x y))))
(*.f64 (/.f64 1 y) (*.f64 y x))
(*.f64 (*.f64 (/.f64 x y) 2) (/.f64 1/2 (/.f64 1 y)))
(*.f64 (*.f64 x 4) (*.f64 y (*.f64 1/2 (/.f64 1/2 y))))
(*.f64 (*.f64 x 4) 1/4)
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 4 (/.f64 y y))))
(*.f64 (/.f64 (/.f64 x y) -2) (/.f64 -1 (/.f64 1/2 y)))
(*.f64 (neg.f64 x) -1)
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 y (neg.f64 y))))
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 y x)))
(*.f64 (*.f64 y 4) (/.f64 1/2 (*.f64 y (/.f64 2 x))))
(*.f64 (*.f64 y 4) (/.f64 1 (/.f64 4 (/.f64 x y))))
(*.f64 (*.f64 x (+.f64 y y)) (/.f64 1/2 y))
(*.f64 -1 (neg.f64 x))
(*.f64 -1 (/.f64 (/.f64 (/.f64 x y) -2) (/.f64 1/2 y)))
(*.f64 -1 (/.f64 x (/.f64 y (neg.f64 y))))
(*.f64 -1 (/.f64 (neg.f64 y) (/.f64 y x)))
(*.f64 4 (/.f64 y (*.f64 (/.f64 y x) 4)))
(*.f64 4 (/.f64 y (/.f64 4 (/.f64 x y))))
(*.f64 (/.f64 1 (/.f64 1/2 y)) (*.f64 x (/.f64 1/2 y)))
(*.f64 (*.f64 y x) (/.f64 1 y))
(*.f64 (*.f64 y (/.f64 1/2 y)) (+.f64 x x))
(*.f64 (*.f64 2 (/.f64 y y)) (*.f64 x 1/2))
(*.f64 (*.f64 y (*.f64 x 4)) (*.f64 1/2 (/.f64 1/2 y)))
(*.f64 (*.f64 1/2 (/.f64 1/2 y)) (*.f64 y (*.f64 x 4)))
(*.f64 (/.f64 y y) x)
(*.f64 (*.f64 y (*.f64 1/2 (/.f64 1/2 y))) (*.f64 x 4))
(*.f64 (*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 y))) (+.f64 x x))
(*.f64 (/.f64 1/2 (/.f64 1 y)) (*.f64 (/.f64 x y) 2))
(*.f64 (*.f64 x 1/2) 2)
(*.f64 (*.f64 x 1/2) (*.f64 2 (/.f64 y y)))
(*.f64 1/4 (*.f64 x 4))
(*.f64 (/.f64 1 (/.f64 y y)) x)
(*.f64 (/.f64 y (*.f64 y (/.f64 2 x))) 2)
(*.f64 (/.f64 x (*.f64 2 (/.f64 y y))) 2)
(*.f64 (/.f64 1 (*.f64 2 (/.f64 y y))) (+.f64 x x))
(*.f64 (/.f64 1 (*.f64 4 (/.f64 y y))) (*.f64 x 4))
(*.f64 (/.f64 -1 (/.f64 1/2 y)) (/.f64 (/.f64 x y) -2))
(*.f64 (/.f64 (/.f64 (/.f64 x y) -2) (/.f64 1/2 y)) -1)
(*.f64 (/.f64 x (/.f64 y (neg.f64 y))) -1)
(*.f64 (/.f64 1 (/.f64 y (neg.f64 y))) (neg.f64 x))
(*.f64 (/.f64 (neg.f64 y) (/.f64 y x)) -1)
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))
(*.f64 (/.f64 y (*.f64 (/.f64 y x) 4)) 4)
(*.f64 (/.f64 1/2 (*.f64 y (/.f64 2 x))) (*.f64 y 4))
(*.f64 (/.f64 y (/.f64 4 (/.f64 x y))) 4)
(*.f64 (/.f64 1 (/.f64 4 (/.f64 x y))) (*.f64 y 4))
(*.f64 (/.f64 (+.f64 y y) (/.f64 4 (/.f64 x y))) 2)
(*.f64 (/.f64 2 (/.f64 4 (/.f64 x y))) (+.f64 y y))
(pow.f64 x 1)
(neg.f64 (neg.f64 x))
(neg.f64 (/.f64 (*.f64 y (neg.f64 x)) y))
Outputs
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 x)
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 0 (/.f64 1/2 x))
(/.f64 1/2 x)
(+.f64 (/.f64 1/2 x) 0)
(/.f64 1/2 x)
(-.f64 0 (neg.f64 (/.f64 1/2 x)))
(/.f64 1/2 x)
(-.f64 (/.f64 1/2 x) 0)
(/.f64 1/2 x)
(/.f64 y (*.f64 x (+.f64 y y)))
(/.f64 1/2 x)
(/.f64 y (-.f64 0 (/.f64 x (neg.f64 (/.f64 1/2 y)))))
(/.f64 1/2 x)
(/.f64 y (-.f64 0 (*.f64 y (*.f64 x -2))))
(/.f64 1/2 x)
(/.f64 (/.f64 y x) (+.f64 y y))
(/.f64 1/2 x)
(/.f64 (/.f64 y x) (/.f64 1 (/.f64 1/2 y)))
(/.f64 1/2 x)
(/.f64 (/.f64 y x) (/.f64 (neg.f64 y) -1/2))
(/.f64 1/2 x)
(/.f64 1/2 x)
(/.f64 1/2 (-.f64 0 (*.f64 (/.f64 x y) (neg.f64 y))))
(/.f64 1/2 x)
(/.f64 (/.f64 1/2 y) (/.f64 x y))
(/.f64 1/2 x)
(/.f64 (/.f64 1/2 y) (-.f64 0 (neg.f64 (/.f64 x y))))
(/.f64 1/2 x)
(/.f64 1 (+.f64 x x))
(/.f64 1/2 x)
(/.f64 1 (neg.f64 (*.f64 x -2)))
(/.f64 1/2 x)
(/.f64 (+.f64 y y) (*.f64 y (*.f64 x 4)))
(/.f64 1/2 x)
(/.f64 (/.f64 1 x) 2)
(/.f64 1/2 x)
(/.f64 (/.f64 1 x) (*.f64 2 (/.f64 y y)))
(/.f64 1/2 x)
(/.f64 2 (*.f64 x 4))
(/.f64 1/2 x)
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 y 4))
(/.f64 1/2 x)
(/.f64 (*.f64 y (/.f64 2 x)) (*.f64 2 (/.f64 1 (/.f64 1/2 y))))
(/.f64 1/2 x)
(/.f64 (*.f64 y (/.f64 2 x)) (+.f64 (/.f64 (neg.f64 y) -1/2) (/.f64 (neg.f64 y) -1/2)))
(/.f64 1/2 x)
(/.f64 (/.f64 1 y) (*.f64 (/.f64 x y) 2))
(/.f64 1/2 x)
(/.f64 (/.f64 2 x) 4)
(/.f64 1/2 x)
(/.f64 (/.f64 2 x) (*.f64 4 (/.f64 y y)))
(/.f64 1/2 x)
(/.f64 (*.f64 (/.f64 y x) 1/2) y)
(/.f64 1/2 x)
(/.f64 -1/2 (neg.f64 x))
(/.f64 1/2 x)
(/.f64 -1/2 (*.f64 (/.f64 x y) (neg.f64 y)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 y x)) (*.f64 y -2))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 y x)) (neg.f64 (/.f64 1 (/.f64 1/2 y))))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 1/2 x)) (/.f64 y (neg.f64 y)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 1/2 y)) (neg.f64 (/.f64 x y)))
(/.f64 1/2 x)
(/.f64 (neg.f64 y) (/.f64 x (neg.f64 (/.f64 1/2 y))))
(/.f64 1/2 x)
(/.f64 (neg.f64 y) (*.f64 y (*.f64 x -2)))
(/.f64 1/2 x)
(/.f64 (*.f64 y 4) (*.f64 y (*.f64 (+.f64 x x) 4)))
(/.f64 1/2 x)
(/.f64 -1 (*.f64 x -2))
(/.f64 1/2 x)
(/.f64 -1 (*.f64 (/.f64 x y) (*.f64 y -2)))
(/.f64 1/2 x)
(/.f64 (*.f64 (/.f64 y x) 4) (*.f64 y 8))
(/.f64 1/2 x)
(/.f64 (*.f64 (/.f64 y x) 4) (+.f64 (*.f64 2 (/.f64 1 (/.f64 1/2 y))) (*.f64 2 (/.f64 1 (/.f64 1/2 y)))))
(/.f64 1/2 x)
(/.f64 4 (*.f64 (+.f64 x x) 4))
(/.f64 1/2 x)
(/.f64 (*.f64 y 8) (*.f64 (*.f64 x 4) (*.f64 y 4)))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (neg.f64 (/.f64 y x))) (*.f64 (neg.f64 y) 4))
(/.f64 1/2 x)
(/.f64 (*.f64 (/.f64 1/2 y) 4) (*.f64 (/.f64 x y) 4))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (/.f64 2 x)) 8)
(/.f64 1/2 x)
(/.f64 (*.f64 2 (neg.f64 (/.f64 1/2 y))) (*.f64 2 (neg.f64 (/.f64 x y))))
(/.f64 1/2 x)
(/.f64 (*.f64 y -2) (*.f64 (neg.f64 x) (*.f64 y 4)))
(/.f64 1/2 x)
(/.f64 (*.f64 y -2) (*.f64 2 (/.f64 x (neg.f64 (/.f64 1/2 y)))))
(/.f64 1/2 x)
(/.f64 (*.f64 y -2) (neg.f64 (*.f64 y (*.f64 x 4))))
(/.f64 1/2 x)
(/.f64 (*.f64 y (/.f64 1/2 y)) x)
(/.f64 1/2 x)
(/.f64 (/.f64 y (*.f64 y -2)) (neg.f64 x))
(/.f64 1/2 x)
(/.f64 (/.f64 -1/2 (/.f64 x y)) (neg.f64 y))
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 1/2 y) x) (/.f64 1 y))
(/.f64 1/2 x)
(/.f64 (/.f64 1/2 x) 1)
(/.f64 1/2 x)
(/.f64 (/.f64 1/2 x) (/.f64 y y))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (/.f64 y y)) (*.f64 x 4))
(/.f64 1/2 x)
(/.f64 (*.f64 1/2 (/.f64 1/2 y)) (*.f64 x (/.f64 1/2 y)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 1 x)) (neg.f64 (*.f64 2 (/.f64 y y))))
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 y x) -2) (neg.f64 y))
(/.f64 1/2 x)
(/.f64 (/.f64 y y) (+.f64 x x))
(/.f64 1/2 x)
(/.f64 (*.f64 4 (/.f64 y y)) (*.f64 (+.f64 x x) 4))
(/.f64 1/2 x)
(/.f64 (/.f64 y (neg.f64 y)) (*.f64 x -2))
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 1 y) x) (*.f64 (/.f64 1/2 y) 4))
(/.f64 1/2 x)
(/.f64 8 (*.f64 2 (*.f64 (+.f64 x x) 4)))
(/.f64 1/2 x)
(/.f64 (*.f64 (/.f64 1 y) 4) (*.f64 2 (*.f64 (/.f64 x y) 4)))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (/.f64 -1/2 (/.f64 x y))) (*.f64 y -2))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (/.f64 (/.f64 y x) -2)) (*.f64 y -2))
(/.f64 1/2 x)
(/.f64 -2 (*.f64 (neg.f64 x) 4))
(/.f64 1/2 x)
(/.f64 -2 (neg.f64 (*.f64 x 4)))
(/.f64 1/2 x)
(/.f64 -2 (+.f64 (*.f64 (/.f64 x y) (*.f64 y -2)) (*.f64 (/.f64 x y) (*.f64 y -2))))
(/.f64 1/2 x)
(/.f64 (*.f64 (+.f64 y y) 8) (+.f64 (*.f64 (*.f64 x 4) (*.f64 y 4)) (*.f64 (*.f64 x 4) (*.f64 y 4))))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (*.f64 4 (/.f64 y y))) (*.f64 2 (*.f64 (+.f64 x x) 4)))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (/.f64 y (neg.f64 y))) (*.f64 (neg.f64 x) 4))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (*.f64 (/.f64 y x) 4)) (*.f64 (+.f64 y y) 8))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (*.f64 2 (/.f64 2 x))) 16)
(/.f64 1/2 x)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (/.f64 1/2 y)))) (+.f64 (*.f64 2 (neg.f64 (/.f64 x y))) (*.f64 2 (neg.f64 (/.f64 x y)))))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (/.f64 y x)))) (+.f64 (*.f64 (neg.f64 y) 4) (*.f64 (neg.f64 y) 4)))
(/.f64 1/2 x)
(/.f64 (*.f64 (neg.f64 y) 4) (+.f64 (*.f64 (neg.f64 x) (*.f64 y 4)) (*.f64 (neg.f64 x) (*.f64 y 4))))
(/.f64 1/2 x)
(/.f64 (*.f64 (neg.f64 y) 4) (+.f64 (*.f64 2 (/.f64 x (neg.f64 (/.f64 1/2 y)))) (*.f64 2 (/.f64 x (neg.f64 (/.f64 1/2 y))))))
(/.f64 1/2 x)
(/.f64 (*.f64 2 (/.f64 (/.f64 1 y) x)) (*.f64 (/.f64 1 y) 4))
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 1 y) (*.f64 x 4)) (/.f64 1/2 y))
(/.f64 1/2 x)
(/.f64 (/.f64 1/2 (/.f64 1 y)) (*.f64 y x))
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 1/2 y) (/.f64 1 y)) x)
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 y y) (*.f64 x 4)) 1/2)
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 y (*.f64 y -2)) x) -1)
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 -1/2 (/.f64 x y)) y) -1)
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 (/.f64 1/2 y) x) 2) (/.f64 1/2 y))
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 (/.f64 y x) -2) y) -1)
(/.f64 1/2 x)
(/.f64 (/.f64 1/2 (+.f64 x x)) 1/2)
(/.f64 1/2 x)
(/.f64 (/.f64 (/.f64 y x) (*.f64 y 4)) 1/2)
(/.f64 1/2 x)
(/.f64 (neg.f64 (*.f64 (/.f64 1/2 y) 4)) (-.f64 0 (*.f64 (/.f64 x y) 4)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (*.f64 y 4)) (-.f64 0 (*.f64 y (*.f64 (+.f64 x x) 4))))
(/.f64 1/2 x)
(/.f64 (neg.f64 (*.f64 2 (/.f64 y y))) (neg.f64 (*.f64 x 4)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 y (*.f64 y -2))) x)
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 -1/2 (/.f64 x y))) y)
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 (/.f64 1/2 y) x)) (neg.f64 (/.f64 1 y)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 1 y)) (neg.f64 (*.f64 (/.f64 x y) 2)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 (/.f64 y x) -2)) y)
(/.f64 1/2 x)
(/.f64 (neg.f64 (*.f64 y (/.f64 2 x))) (neg.f64 (*.f64 y 4)))
(/.f64 1/2 x)
(/.f64 -4 (-.f64 0 (*.f64 (+.f64 x x) 4)))
(/.f64 1/2 x)
(/.f64 (+.f64 (*.f64 (/.f64 1 y) 4) (*.f64 (/.f64 1 y) 4)) (+.f64 (*.f64 2 (*.f64 (/.f64 x y) 4)) (*.f64 2 (*.f64 (/.f64 x y) 4))))
(/.f64 1/2 x)
(/.f64 (+.f64 (neg.f64 (/.f64 1 y)) (neg.f64 (/.f64 1 y))) (+.f64 (neg.f64 (*.f64 (/.f64 x y) 2)) (neg.f64 (*.f64 (/.f64 x y) 2))))
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 1/2 (+.f64 x x)) (/.f64 1/2 (+.f64 x x))) 1)
(/.f64 1/2 x)
(/.f64 (+.f64 (neg.f64 (*.f64 y (/.f64 2 x))) (neg.f64 (*.f64 y (/.f64 2 x)))) (+.f64 (neg.f64 (*.f64 y 4)) (neg.f64 (*.f64 y 4))))
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 1/2 (/.f64 1 y)) (/.f64 1/2 (/.f64 1 y))) (*.f64 x (+.f64 y y)))
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 (/.f64 1 y) (*.f64 x 4)) (/.f64 (/.f64 1 y) (*.f64 x 4))) (/.f64 1 y))
(/.f64 1/2 x)
(/.f64 (+.f64 (*.f64 2 (/.f64 -1/2 (/.f64 x y))) (*.f64 2 (/.f64 -1/2 (/.f64 x y)))) (*.f64 (neg.f64 y) 4))
(/.f64 1/2 x)
(/.f64 (+.f64 (*.f64 2 (/.f64 (/.f64 y x) -2)) (*.f64 2 (/.f64 (/.f64 y x) -2))) (*.f64 (neg.f64 y) 4))
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 (/.f64 1/2 y) (/.f64 1 y)) (/.f64 (/.f64 1/2 y) (/.f64 1 y))) (+.f64 x x))
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 (/.f64 y x) (*.f64 y 4)) (/.f64 (/.f64 y x) (*.f64 y 4))) 1)
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 (/.f64 y y) (*.f64 x 4)) (/.f64 (/.f64 y y) (*.f64 x 4))) 1)
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 (/.f64 y (*.f64 y -2)) x) (/.f64 (/.f64 y (*.f64 y -2)) x)) -2)
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 (/.f64 -1/2 (/.f64 x y)) y) (/.f64 (/.f64 -1/2 (/.f64 x y)) y)) -2)
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 (/.f64 (/.f64 1/2 y) x) 2) (/.f64 (/.f64 (/.f64 1/2 y) x) 2)) (/.f64 1 y))
(/.f64 1/2 x)
(/.f64 (+.f64 (/.f64 (/.f64 (/.f64 y x) -2) y) (/.f64 (/.f64 (/.f64 y x) -2) y)) -2)
(/.f64 1/2 x)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (/.f64 y y))) (neg.f64 (*.f64 2 (/.f64 y y)))) (+.f64 (neg.f64 (*.f64 x 4)) (neg.f64 (*.f64 x 4))))
(/.f64 1/2 x)
(/.f64 (+.f64 (neg.f64 (/.f64 y (*.f64 y -2))) (neg.f64 (/.f64 y (*.f64 y -2)))) (+.f64 x x))
(/.f64 1/2 x)
(/.f64 (+.f64 (neg.f64 (/.f64 -1/2 (/.f64 x y))) (neg.f64 (/.f64 -1/2 (/.f64 x y)))) (+.f64 y y))
(/.f64 1/2 x)
(/.f64 (+.f64 (neg.f64 (/.f64 (/.f64 1/2 y) x)) (neg.f64 (/.f64 (/.f64 1/2 y) x))) (+.f64 (neg.f64 (/.f64 1 y)) (neg.f64 (/.f64 1 y))))
(/.f64 1/2 x)
(/.f64 (+.f64 (neg.f64 (/.f64 (/.f64 y x) -2)) (neg.f64 (/.f64 (/.f64 y x) -2))) (+.f64 y y))
(/.f64 1/2 x)
(/.f64 (neg.f64 (*.f64 (/.f64 y x) 4)) (neg.f64 (*.f64 y 8)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (neg.f64 (/.f64 1 y))) (*.f64 (/.f64 x y) 2))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 1/2 (/.f64 1 y))) (*.f64 y (neg.f64 x)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (*.f64 1/2 (/.f64 1/2 y))) (/.f64 (/.f64 x y) -2))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 (/.f64 1 y) x)) (neg.f64 (*.f64 (/.f64 1/2 y) 4)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 (/.f64 1 y) (*.f64 x 4))) (neg.f64 (/.f64 1/2 y)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (neg.f64 (*.f64 y (/.f64 2 x)))) (*.f64 y 4))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 y (neg.f64 y))) (+.f64 x x))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 y (neg.f64 y))) (neg.f64 (*.f64 x -2)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (*.f64 2 (/.f64 -1/2 (/.f64 x y)))) (/.f64 (neg.f64 y) -1/2))
(/.f64 1/2 x)
(/.f64 (neg.f64 (*.f64 2 (/.f64 (/.f64 y x) -2))) (/.f64 (neg.f64 y) -1/2))
(/.f64 1/2 x)
(/.f64 (neg.f64 (*.f64 4 (/.f64 y y))) (-.f64 0 (*.f64 (+.f64 x x) 4)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 (/.f64 1/2 y) (/.f64 1 y))) (neg.f64 x))
(/.f64 1/2 x)
(/.f64 (neg.f64 (/.f64 (/.f64 (/.f64 1/2 y) x) 2)) (neg.f64 (/.f64 1/2 y)))
(/.f64 1/2 x)
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (/.f64 y y)))) (*.f64 x 4))
(/.f64 1/2 x)
(/.f64 (neg.f64 (neg.f64 (/.f64 y (*.f64 y -2)))) (neg.f64 x))
(/.f64 1/2 x)
(/.f64 (neg.f64 (neg.f64 (/.f64 -1/2 (/.f64 x y)))) (neg.f64 y))
(/.f64 1/2 x)
(/.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 1/2 y) x))) (/.f64 1 y))
(/.f64 1/2 x)
(/.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 y x) -2))) (neg.f64 y))
(/.f64 1/2 x)
(pow.f64 (/.f64 1/2 x) 1)
(/.f64 1/2 x)
(neg.f64 (neg.f64 (/.f64 1/2 x)))
(/.f64 1/2 x)
(neg.f64 (/.f64 (/.f64 y (*.f64 y -2)) x))
(/.f64 1/2 x)
(neg.f64 (/.f64 (/.f64 -1/2 (/.f64 x y)) y))
(/.f64 1/2 x)
(neg.f64 (/.f64 (/.f64 (/.f64 y x) -2) y))
(/.f64 1/2 x)
(+.f64 x 0)
x
(+.f64 0 x)
x
(+.f64 -1 (-.f64 1 (neg.f64 x)))
x
(+.f64 (*.f64 x 1/2) (*.f64 x 1/2))
x
(-.f64 x 0)
x
(-.f64 0 (neg.f64 x))
x
(*.f64 y (/.f64 x y))
x
(*.f64 x 1)
x
(*.f64 x (/.f64 y y))
x
(*.f64 x (/.f64 1 (/.f64 y y)))
x
(*.f64 1/2 (+.f64 x x))
x
(*.f64 (/.f64 1/2 y) (*.f64 x (+.f64 y y)))
x
(*.f64 1 x)
x
(*.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 y)))
x
(*.f64 (+.f64 y y) (/.f64 2 (/.f64 4 (/.f64 x y))))
x
(*.f64 (+.f64 x x) 1/2)
x
(*.f64 (+.f64 x x) (*.f64 y (/.f64 1/2 y)))
x
(*.f64 (+.f64 x x) (*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 y))))
x
(*.f64 (+.f64 x x) (/.f64 1 (*.f64 2 (/.f64 y y))))
x
(*.f64 (*.f64 x (/.f64 1/2 y)) (+.f64 y y))
x
(*.f64 (*.f64 x (/.f64 1/2 y)) (/.f64 1 (/.f64 1/2 y)))
x
(*.f64 (/.f64 x y) y)
x
(*.f64 2 (*.f64 x 1/2))
x
(*.f64 2 (/.f64 y (*.f64 y (/.f64 2 x))))
x
(*.f64 2 (/.f64 x (*.f64 2 (/.f64 y y))))
x
(*.f64 2 (/.f64 (+.f64 y y) (/.f64 4 (/.f64 x y))))
x
(*.f64 (/.f64 1 y) (*.f64 y x))
x
(*.f64 (*.f64 (/.f64 x y) 2) (/.f64 1/2 (/.f64 1 y)))
x
(*.f64 (*.f64 x 4) (*.f64 y (*.f64 1/2 (/.f64 1/2 y))))
x
(*.f64 (*.f64 x 4) 1/4)
x
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 4 (/.f64 y y))))
x
(*.f64 (/.f64 (/.f64 x y) -2) (/.f64 -1 (/.f64 1/2 y)))
x
(*.f64 (neg.f64 x) -1)
x
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 y (neg.f64 y))))
x
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 y x)))
x
(*.f64 (*.f64 y 4) (/.f64 1/2 (*.f64 y (/.f64 2 x))))
x
(*.f64 (*.f64 y 4) (/.f64 1 (/.f64 4 (/.f64 x y))))
x
(*.f64 (*.f64 x (+.f64 y y)) (/.f64 1/2 y))
x
(*.f64 -1 (neg.f64 x))
x
(*.f64 -1 (/.f64 (/.f64 (/.f64 x y) -2) (/.f64 1/2 y)))
x
(*.f64 -1 (/.f64 x (/.f64 y (neg.f64 y))))
x
(*.f64 -1 (/.f64 (neg.f64 y) (/.f64 y x)))
x
(*.f64 4 (/.f64 y (*.f64 (/.f64 y x) 4)))
x
(*.f64 4 (/.f64 y (/.f64 4 (/.f64 x y))))
x
(*.f64 (/.f64 1 (/.f64 1/2 y)) (*.f64 x (/.f64 1/2 y)))
x
(*.f64 (*.f64 y x) (/.f64 1 y))
x
(*.f64 (*.f64 y (/.f64 1/2 y)) (+.f64 x x))
x
(*.f64 (*.f64 2 (/.f64 y y)) (*.f64 x 1/2))
x
(*.f64 (*.f64 y (*.f64 x 4)) (*.f64 1/2 (/.f64 1/2 y)))
x
(*.f64 (*.f64 1/2 (/.f64 1/2 y)) (*.f64 y (*.f64 x 4)))
x
(*.f64 (/.f64 y y) x)
x
(*.f64 (*.f64 y (*.f64 1/2 (/.f64 1/2 y))) (*.f64 x 4))
x
(*.f64 (*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 1/2 y))) (+.f64 x x))
x
(*.f64 (/.f64 1/2 (/.f64 1 y)) (*.f64 (/.f64 x y) 2))
x
(*.f64 (*.f64 x 1/2) 2)
x
(*.f64 (*.f64 x 1/2) (*.f64 2 (/.f64 y y)))
x
(*.f64 1/4 (*.f64 x 4))
x
(*.f64 (/.f64 1 (/.f64 y y)) x)
x
(*.f64 (/.f64 y (*.f64 y (/.f64 2 x))) 2)
x
(*.f64 (/.f64 x (*.f64 2 (/.f64 y y))) 2)
x
(*.f64 (/.f64 1 (*.f64 2 (/.f64 y y))) (+.f64 x x))
x
(*.f64 (/.f64 1 (*.f64 4 (/.f64 y y))) (*.f64 x 4))
x
(*.f64 (/.f64 -1 (/.f64 1/2 y)) (/.f64 (/.f64 x y) -2))
x
(*.f64 (/.f64 (/.f64 (/.f64 x y) -2) (/.f64 1/2 y)) -1)
x
(*.f64 (/.f64 x (/.f64 y (neg.f64 y))) -1)
x
(*.f64 (/.f64 1 (/.f64 y (neg.f64 y))) (neg.f64 x))
x
(*.f64 (/.f64 (neg.f64 y) (/.f64 y x)) -1)
x
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))
x
(*.f64 (/.f64 y (*.f64 (/.f64 y x) 4)) 4)
x
(*.f64 (/.f64 1/2 (*.f64 y (/.f64 2 x))) (*.f64 y 4))
x
(*.f64 (/.f64 y (/.f64 4 (/.f64 x y))) 4)
x
(*.f64 (/.f64 1 (/.f64 4 (/.f64 x y))) (*.f64 y 4))
x
(*.f64 (/.f64 (+.f64 y y) (/.f64 4 (/.f64 x y))) 2)
x
(*.f64 (/.f64 2 (/.f64 4 (/.f64 x y))) (+.f64 y y))
x
(pow.f64 x 1)
x
(neg.f64 (neg.f64 x))
x
(neg.f64 (/.f64 (*.f64 y (neg.f64 x)) y))
x

eval166.0ms (2%)

Compiler

Compiled 6811 to 4045 computations (40.6% saved)

prune199.0ms (2.4%)

Pruning

32 alts after pruning (19 fresh and 13 done)

PrunedKeptTotal
New61610626
Fresh2911
Picked011
Done01212
Total61832650
Error
0b
Counts
650 → 32
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
31.5b
(/.f64 (/.f64 y 1/2) (*.f64 y (/.f64 2 x)))
7.5b
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
33.2b
(/.f64 (/.f64 x y) (/.f64 1 y))
31.5b
(/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))
40.3b
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) y))
7.4b
(/.f64 (*.f64 (sin.f64 y) x) y)
40.3b
(/.f64 (*.f64 y x) y)
7.9b
(/.f64 (sin.f64 y) (/.f64 y x))
31.8b
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 x y)))
31.5b
(/.f64 y (/.f64 y x))
0.1b
(/.f64 x (/.f64 y (sin.f64 y)))
7.9b
(/.f64 1 (/.f64 (/.f64 y x) (sin.f64 y)))
32.9b
(/.f64 1 (/.f64 1 x))
31.5b
(/.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (/.f64 x y)))
31.5b
(/.f64 1/2 (*.f64 (/.f64 y x) (/.f64 1/2 y)))
40.4b
(/.f64 1/2 (*.f64 (/.f64 1/2 (*.f64 y x)) y))
38.1b
(+.f64 (-.f64 x -1) -1)
33.2b
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 1 (/.f64 -1 y)))
38.1b
(*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y)
33.4b
(*.f64 (/.f64 y 4) (*.f64 x (/.f64 4 y)))
33.1b
(*.f64 (/.f64 x y) y)
40.3b
(*.f64 (/.f64 1 y) (*.f64 y x))
42.1b
(*.f64 (/.f64 1 x) (*.f64 x x))
31.8b
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))
50.1b
(*.f64 (*.f64 y y) (/.f64 x (*.f64 y y)))
7.4b
(*.f64 (sin.f64 y) (/.f64 x y))
0.2b
(*.f64 x (/.f64 (sin.f64 y) y))
24.4b
(*.f64 x (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))))
32.9b
(*.f64 x (*.f64 y (/.f64 1 y)))
34.2b
(*.f64 x (*.f64 y (+.f64 (/.f64 1 y) (*.f64 y -1/6))))
32.8b
x
Compiler

Compiled 308 to 208 computations (32.5% saved)

regimes123.0ms (1.5%)

Counts
39 → 1
Calls
Call 1
Inputs
x
(*.f64 (/.f64 x y) y)
(+.f64 (-.f64 x -1) -1)
(/.f64 1 (/.f64 1 x))
(/.f64 y (/.f64 y x))
(/.f64 (*.f64 y x) y)
(+.f64 -1 (-.f64 1 (neg.f64 x)))
(*.f64 x (*.f64 y (/.f64 1 y)))
(*.f64 (/.f64 1 x) (*.f64 x x))
(*.f64 (/.f64 1 y) (*.f64 y x))
(/.f64 (/.f64 x y) (/.f64 1 y))
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 x y)))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 1/2 y))
(*.f64 (*.f64 y y) (/.f64 x (*.f64 y y)))
(*.f64 (/.f64 y 4) (*.f64 x (/.f64 4 y)))
(*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y)
(/.f64 1/2 (*.f64 (/.f64 1/2 (*.f64 y x)) y))
(/.f64 1/2 (*.f64 (/.f64 y x) (/.f64 1/2 y)))
(/.f64 1/2 (/.f64 (/.f64 1/2 y) (/.f64 x y)))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) y))
(/.f64 (/.f64 y 1/2) (*.f64 y (/.f64 2 x)))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 1 (/.f64 -1 y)))
(*.f64 x (*.f64 y (+.f64 (/.f64 1 y) (*.f64 y -1/6))))
(/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))
(/.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 x (/.f64 y (sin.f64 y)))
(/.f64 (sin.f64 y) (/.f64 y x))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 1 (/.f64 (/.f64 y x) (sin.f64 y)))
(/.f64 (/.f64 x y) (/.f64 1 (sin.f64 y)))
(/.f64 (/.f64 (sin.f64 y) y) (/.f64 1 x))
(/.f64 (/.f64 (sin.f64 y) (/.f64 1 x)) y)
(*.f64 x (*.f64 y (/.f64 (sin.f64 y) (*.f64 y y))))
(/.f64 1/2 (/.f64 (/.f64 1/2 (sin.f64 y)) (/.f64 x y)))
(/.f64 2 (*.f64 (/.f64 2 (sin.f64 y)) (/.f64 y x)))
(*.f64 x (*.f64 y (/.f64 (sin.f64 y) (/.f64 y (/.f64 (/.f64 (sin.f64 y) y) (sin.f64 y))))))
Outputs
(/.f64 x (/.f64 y (sin.f64 y)))
Calls

4 calls:

64.0ms
(/.f64 (sin.f64 y) y)
18.0ms
x
17.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
17.0ms
y
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1(*.f64 x (/.f64 (sin.f64 y) y))
0.1b1(/.f64 (sin.f64 y) y)
Compiler

Compiled 334 to 169 computations (49.4% saved)

regimes201.0ms (2.4%)

Counts
28 → 1
Calls
Call 1
Inputs
x
(*.f64 (/.f64 x y) y)
(+.f64 (-.f64 x -1) -1)
(/.f64 1 (/.f64 1 x))
(/.f64 y (/.f64 y x))
(/.f64 (*.f64 y x) y)
(+.f64 -1 (-.f64 1 (neg.f64 x)))
(*.f64 x (*.f64 y (/.f64 1 y)))
(*.f64 (/.f64 1 x) (*.f64 x x))
(*.f64 (/.f64 1 y) (*.f64 y x))
(/.f64 (/.f64 x y) (/.f64 1 y))
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 x y)))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 1/2 y))
(*.f64 (*.f64 y y) (/.f64 x (*.f64 y y)))
(*.f64 (/.f64 y 4) (*.f64 x (/.f64 4 y)))
(*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y)
(/.f64 1/2 (*.f64 (/.f64 1/2 (*.f64 y x)) y))
(/.f64 1/2 (*.f64 (/.f64 y x) (/.f64 1/2 y)))
(/.f64 1/2 (/.f64 (/.f64 1/2 y) (/.f64 x y)))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) y))
(/.f64 (/.f64 y 1/2) (*.f64 y (/.f64 2 x)))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 1 (/.f64 -1 y)))
(*.f64 x (*.f64 y (+.f64 (/.f64 1 y) (*.f64 y -1/6))))
(/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))
(/.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (/.f64 x y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
Outputs
(*.f64 x (/.f64 (sin.f64 y) y))
Calls

4 calls:

100.0ms
x
70.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
13.0ms
y
12.0ms
(/.f64 (sin.f64 y) y)
Results
ErrorSegmentsBranch
0.2b1x
0.2b1y
0.2b1(*.f64 x (/.f64 (sin.f64 y) y))
0.2b1(/.f64 (sin.f64 y) y)
Compiler

Compiled 238 to 133 computations (44.1% saved)

regimes140.0ms (1.7%)

Counts
26 → 3
Calls
Call 1
Inputs
x
(*.f64 (/.f64 x y) y)
(+.f64 (-.f64 x -1) -1)
(/.f64 1 (/.f64 1 x))
(/.f64 y (/.f64 y x))
(/.f64 (*.f64 y x) y)
(+.f64 -1 (-.f64 1 (neg.f64 x)))
(*.f64 x (*.f64 y (/.f64 1 y)))
(*.f64 (/.f64 1 x) (*.f64 x x))
(*.f64 (/.f64 1 y) (*.f64 y x))
(/.f64 (/.f64 x y) (/.f64 1 y))
(*.f64 (/.f64 -1 (/.f64 y x)) (neg.f64 y))
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 x y)))
(*.f64 (*.f64 x (/.f64 2 y)) (*.f64 1/2 y))
(*.f64 (*.f64 y y) (/.f64 x (*.f64 y y)))
(*.f64 (/.f64 y 4) (*.f64 x (/.f64 4 y)))
(*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y)
(/.f64 1/2 (*.f64 (/.f64 1/2 (*.f64 y x)) y))
(/.f64 1/2 (*.f64 (/.f64 y x) (/.f64 1/2 y)))
(/.f64 1/2 (/.f64 (/.f64 1/2 y) (/.f64 x y)))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) y))
(/.f64 (/.f64 y 1/2) (*.f64 y (/.f64 2 x)))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 1 (/.f64 -1 y)))
(*.f64 x (*.f64 y (+.f64 (/.f64 1 y) (*.f64 y -1/6))))
(/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))
(/.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (/.f64 x y)))
Outputs
(/.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (/.f64 x y)))
x
(/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))
Calls

2 calls:

96.0ms
x
38.0ms
y
Results
ErrorSegmentsBranch
24.3b3x
24.2b3y
Compiler

Compiled 212 to 120 computations (43.4% saved)

bsearch116.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
7.010573042852398e-23
6.890351085599908e-18
103.0ms
-169.8820932526244
-2.0719870123285197e-10
Results
112.0ms256×body256valid
Compiler

Compiled 341 to 257 computations (24.6% saved)

regimes78.0ms (0.9%)

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

2 calls:

36.0ms
y
36.0ms
x
Results
ErrorSegmentsBranch
24.3b3x
24.2b3y
Compiler

Compiled 197 to 110 computations (44.2% saved)

bsearch40.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
7.010573042852398e-23
6.890351085599908e-18
23.0ms
-169.8820932526244
-2.0719870123285197e-10
Results
33.0ms256×body256valid
Compiler

Compiled 301 to 217 computations (27.9% saved)

regimes72.0ms (0.9%)

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

2 calls:

34.0ms
x
34.0ms
y
Results
ErrorSegmentsBranch
24.4b3x
24.2b3y
Compiler

Compiled 186 to 104 computations (44.1% saved)

bsearch24.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
7.010573042852398e-23
6.890351085599908e-18
2.0ms
-1.123549044666053e+25
-14045273908488174000.0
Results
22.0ms160×body256valid
Compiler

Compiled 173 to 109 computations (37% saved)

regimes54.0ms (0.6%)

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

2 calls:

27.0ms
y
24.0ms
x
Results
ErrorSegmentsBranch
24.4b3x
24.3b3y
Compiler

Compiled 111 to 61 computations (45% saved)

bsearch94.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
2.5428600716243055e+26
8.439759644303289e+26
83.0ms
-1.123549044666053e+25
-14045273908488174000.0
Results
92.0ms224×body256valid
Compiler

Compiled 181 to 149 computations (17.7% saved)

regimes20.0ms (0.2%)

Accuracy

Total -14.3b remaining (-55.2%)

Threshold costs -14.3b (-55.2%)

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

2 calls:

11.0ms
y
8.0ms
x
Results
ErrorSegmentsBranch
25.9b3x
25.9b3y
Compiler

Compiled 14 to 8 computations (42.9% saved)

bsearch75.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
1.7172958911373717e+67
5.571371958211834e+68
60.0ms
-1.3611114984639949e+76
-9.588910075214426e+64
Results
72.0ms224×body256valid
Compiler

Compiled 181 to 121 computations (33.1% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062368
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 x (/.f64 y (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(if (<=.f64 y -1851167661284901/75557863725914323419136) (/.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (/.f64 x y))) (if (<=.f64 y 7788445287802241/1298074214633706907132624082305024) x (/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))))
(if (<=.f64 y -1397820478929415/75557863725914323419136) (/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6))) (if (<=.f64 y 7788445287802241/1298074214633706907132624082305024) x (/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))))
(if (<=.f64 y -10000000000000000905969664) (*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y) (if (<=.f64 y 8826904659509207/1298074214633706907132624082305024) x (*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y)))
(if (<=.f64 y -68000000000000000000000) (+.f64 (-.f64 x -1) -1) (if (<=.f64 y 274999999999999983038234624) x (+.f64 (-.f64 x -1) -1)))
(if (<=.f64 y -99999999999999999209038626283633850822756121694230455365568299008) (*.f64 (/.f64 x y) y) (if (<=.f64 y 17999999999999999389946428785165159322916955435750915675903880069120) x (*.f64 (/.f64 x y) y)))
x
Outputs
(/.f64 x (/.f64 y (sin.f64 y)))
(*.f64 x (/.f64 (sin.f64 y) y))
(if (<=.f64 y -1851167661284901/75557863725914323419136) (/.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/12 y)) (/.f64 x y))) (if (<=.f64 y 7788445287802241/1298074214633706907132624082305024) x (/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))))
(if (<=.f64 y -1397820478929415/75557863725914323419136) (/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6))) (if (<=.f64 y 7788445287802241/1298074214633706907132624082305024) x (/.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (*.f64 y 1/6)))))
(if (<=.f64 y -10000000000000000905969664) (*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y) (if (<=.f64 y 8826904659509207/1298074214633706907132624082305024) x (*.f64 (/.f64 y (*.f64 y (/.f64 y x))) y)))
(if (<=.f64 y -68000000000000000000000) (+.f64 (-.f64 x -1) -1) (if (<=.f64 y 274999999999999983038234624) x (+.f64 (-.f64 x -1) -1)))
(if (<=.f64 y -99999999999999999209038626283633850822756121694230455365568299008) (*.f64 (/.f64 x y) y) (if (<=.f64 y 17999999999999999389946428785165159322916955435750915675903880069120) x (*.f64 (/.f64 x y) y)))
x
Compiler

Compiled 160 to 96 computations (40% saved)

soundness0.0ms (0%)

end188.0ms (2.3%)

Compiler

Compiled 146 to 79 computations (45.9% saved)

Profiling

Loading profile data...