Details

Time bar (total: 9.8s)

analyze448.0ms (4.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%100%0%0%0%0%3
0%0%100%0%0%0%0%4
0%0%100%0%0%0%0%5
0%0%100%0%0%0%0%6
0%0%100%0%0%0%0%7
0%0%100%0%0%0%0%8
0%0%100%0%0%0%0%9
0%0%100%0%0%0%0%10
0%0%100%0%0%0%0%11
0%0%100%0%0%0%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample7.8s (79.4%)

Results
5.0s2088×body2048valid
1.8s3090×body1024valid
483.0ms1521×body512valid
283.0ms1431×body256valid
184.0ms126×body4096valid
Bogosity

preprocess54.0ms (0.6%)

Algorithm
egg-herbie
Rules
1006×rational_best-simplify-96
1004×rational_best-simplify-61
962×rational_best-simplify-65
662×rational_best-simplify-3
638×rational_best-simplify-62
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0927
16627
240927
3279127
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Outputs
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify55.0ms (0.6%)

Algorithm
egg-herbie
Rules
1006×rational_best-simplify-96
1004×rational_best-simplify-61
962×rational_best-simplify-65
662×rational_best-simplify-3
638×rational_best-simplify-62
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0927
16627
240927
3279127
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Outputs
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))

eval0.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 10 to 6 computations (40% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 x)
0.0b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
1.6b
(-.f64 x (tan.f64 x))
1.6b
(-.f64 x (sin.f64 x))
Compiler

Compiled 23 to 6 computations (73.9% saved)

series3.0ms (0%)

Counts
4 → 40
Calls

12 calls:

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

rewrite71.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1006×rational_best-simplify-96
996×rational_best-simplify-61
962×rational_best-simplify-65
662×rational_best-simplify-3
638×rational_best-simplify-62
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0954
16654
240954
3279154
Stop Event
node limit
Counts
4 → 61
Calls
Call 1
Inputs
(-.f64 x (sin.f64 x))
(-.f64 x (tan.f64 x))
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
(sin.f64 x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sin.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 x) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sin.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sin.f64 x) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (-.f64 (-.f64 x (sin.f64 x)) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (sin.f64 x) x) (-.f64 (sin.f64 x) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 x (sin.f64 x)) (*.f64 (-.f64 x (sin.f64 x)) (-.f64 (sin.f64 x) x))) (+.f64 (-.f64 (sin.f64 x) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (-.f64 (sin.f64 x) x) (-.f64 (sin.f64 x) x)) (+.f64 (-.f64 (sin.f64 x) x) (-.f64 (sin.f64 x) x))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (-.f64 x (sin.f64 x)) (*.f64 (-.f64 x (sin.f64 x)) (-.f64 (sin.f64 x) x))) (+.f64 (-.f64 x (sin.f64 x)) (*.f64 (-.f64 x (sin.f64 x)) (-.f64 (sin.f64 x) x)))) (+.f64 (+.f64 (-.f64 (sin.f64 x) x) 1) (+.f64 (-.f64 (sin.f64 x) x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sin.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 x (sin.f64 x)) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (sin.f64 x) (sin.f64 x))) (+.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sin.f64 x) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 x (sin.f64 x))) (sin.f64 x)) (-.f64 x (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 x 0) (/.f64 (*.f64 x (-.f64 x (sin.f64 x))) x) (-.f64 x (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 (sin.f64 x)) x) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (sin.f64 x) (sin.f64 x))) (+.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 x) 0) (/.f64 (*.f64 x (-.f64 x (sin.f64 x))) x) (-.f64 x (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (sin.f64 x)) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 x (sin.f64 x))) (sin.f64 x)) (-.f64 x (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (sin.f64 x) x) 0) (/.f64 (*.f64 (-.f64 x (sin.f64 x)) (-.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 x (sin.f64 x)) 0)) 0) (-.f64 x (sin.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (tan.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (tan.f64 x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (tan.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (tan.f64 x) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (tan.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (tan.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (tan.f64 x) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (tan.f64 x) x) (-.f64 (tan.f64 x) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 x (tan.f64 x)) (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x)))) (+.f64 (-.f64 (tan.f64 x) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (-.f64 (tan.f64 x) x) (-.f64 (tan.f64 x) x)) (+.f64 (-.f64 (tan.f64 x) x) (-.f64 (tan.f64 x) x))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (-.f64 x (tan.f64 x)) (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x)))) (-.f64 (-.f64 x (tan.f64 x)) (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x))))) (+.f64 (+.f64 (-.f64 (tan.f64 x) x) 1) (+.f64 (-.f64 (tan.f64 x) x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (tan.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (tan.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 x (tan.f64 x)) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (tan.f64 x) 0) (/.f64 (*.f64 (tan.f64 x) (-.f64 x (tan.f64 x))) (tan.f64 x)) (-.f64 x (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 x 0) (/.f64 (*.f64 x (-.f64 x (tan.f64 x))) x) (-.f64 x (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 (tan.f64 x)) x) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (tan.f64 x)) 0) (/.f64 (*.f64 (tan.f64 x) (-.f64 x (tan.f64 x))) (tan.f64 x)) (-.f64 x (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 x) 0) (/.f64 (*.f64 x (-.f64 x (tan.f64 x))) x) (-.f64 x (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (tan.f64 x) x) 0) (/.f64 (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 x (tan.f64 x)) 0)) 0) (-.f64 x (tan.f64 x)))))))
()
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (cos.f64 (neg.f64 x))) (neg.f64 (*.f64 (sin.f64 (/.f64 (PI.f64) 2)) (sin.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (cos.f64 (neg.f64 x))) (*.f64 (sin.f64 (/.f64 (PI.f64) 2)) (sin.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 (/.f64 (PI.f64) 2) x))))))

simplify95.0ms (1%)

Algorithm
egg-herbie
Rules
762×rational_best-simplify-20
762×rational_best-simplify-18
438×rational_best-simplify-124
434×rational_best-simplify-126
416×rational_best-simplify-127
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02552397
111432339
273852339
Stop Event
node limit
Counts
101 → 121
Calls
Call 1
Inputs
(*.f64 1/6 (pow.f64 x 3))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 -1/120 (pow.f64 x 5)))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 -1/120 (pow.f64 x 5))))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/362880 (pow.f64 x 9)) (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 -1/120 (pow.f64 x 5)))))
x
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(+.f64 (*.f64 -1 (sin.f64 x)) x)
x
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(*.f64 -1/3 (pow.f64 x 3))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -2/15 (pow.f64 x 5)))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -2/15 (pow.f64 x 5))))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 (*.f64 -62/2835 (pow.f64 x 9)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -2/15 (pow.f64 x 5)))))
x
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
x
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
-1/2
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 27/112000 (pow.f64 x 6)))) 1/2)
1
(-.f64 (+.f64 1 (*.f64 -1 (/.f64 (sin.f64 x) x))) (*.f64 -1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) x)) (/.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 (cos.f64 x) (pow.f64 x 2))))) (*.f64 -1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (-.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 3))) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) x)) (/.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 (cos.f64 x) (pow.f64 x 2)))))) (*.f64 -1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
1
(+.f64 1 (*.f64 -1 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (cos.f64 x) (pow.f64 x 2)))) (*.f64 -1 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 3)))) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (cos.f64 x) (pow.f64 x 2)))) (*.f64 -1 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))))
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(+.f64 x (neg.f64 (sin.f64 x)))
(+.f64 (-.f64 x (sin.f64 x)) 0)
(+.f64 (neg.f64 (sin.f64 x)) x)
(+.f64 0 (-.f64 x (sin.f64 x)))
(*.f64 (-.f64 x (sin.f64 x)) 1)
(*.f64 (-.f64 (sin.f64 x) x) -1)
(*.f64 -1 (-.f64 (sin.f64 x) x))
(/.f64 (-.f64 x (sin.f64 x)) 1)
(/.f64 (-.f64 (sin.f64 x) x) -1)
(/.f64 (+.f64 x (-.f64 (-.f64 x (sin.f64 x)) (sin.f64 x))) 2)
(/.f64 (+.f64 (-.f64 (sin.f64 x) x) (-.f64 (sin.f64 x) x)) -2)
(/.f64 (+.f64 (-.f64 x (sin.f64 x)) (*.f64 (-.f64 x (sin.f64 x)) (-.f64 (sin.f64 x) x))) (+.f64 (-.f64 (sin.f64 x) x) 1))
(/.f64 (+.f64 (+.f64 (-.f64 (sin.f64 x) x) (-.f64 (sin.f64 x) x)) (+.f64 (-.f64 (sin.f64 x) x) (-.f64 (sin.f64 x) x))) -4)
(/.f64 (+.f64 (+.f64 (-.f64 x (sin.f64 x)) (*.f64 (-.f64 x (sin.f64 x)) (-.f64 (sin.f64 x) x))) (+.f64 (-.f64 x (sin.f64 x)) (*.f64 (-.f64 x (sin.f64 x)) (-.f64 (sin.f64 x) x)))) (+.f64 (+.f64 (-.f64 (sin.f64 x) x) 1) (+.f64 (-.f64 (sin.f64 x) x) 1)))
(pow.f64 (-.f64 x (sin.f64 x)) 1)
(neg.f64 (-.f64 (sin.f64 x) x))
(if (!=.f64 (+.f64 x (sin.f64 x)) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (sin.f64 x) (sin.f64 x))) (+.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))
(if (!=.f64 (sin.f64 x) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 x (sin.f64 x))) (sin.f64 x)) (-.f64 x (sin.f64 x)))
(if (!=.f64 x 0) (/.f64 (*.f64 x (-.f64 x (sin.f64 x))) x) (-.f64 x (sin.f64 x)))
(if (!=.f64 (-.f64 (neg.f64 (sin.f64 x)) x) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (sin.f64 x) (sin.f64 x))) (+.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))
(if (!=.f64 (neg.f64 x) 0) (/.f64 (*.f64 x (-.f64 x (sin.f64 x))) x) (-.f64 x (sin.f64 x)))
(if (!=.f64 (neg.f64 (sin.f64 x)) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 x (sin.f64 x))) (sin.f64 x)) (-.f64 x (sin.f64 x)))
(if (!=.f64 (-.f64 (sin.f64 x) x) 0) (/.f64 (*.f64 (-.f64 x (sin.f64 x)) (-.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 x (sin.f64 x)) 0)) 0) (-.f64 x (sin.f64 x)))
(+.f64 x (neg.f64 (tan.f64 x)))
(+.f64 (-.f64 x (tan.f64 x)) 0)
(+.f64 (neg.f64 (tan.f64 x)) x)
(+.f64 0 (-.f64 x (tan.f64 x)))
(*.f64 (-.f64 x (tan.f64 x)) 1)
(*.f64 (-.f64 (tan.f64 x) x) -1)
(*.f64 -1 (-.f64 (tan.f64 x) x))
(/.f64 (-.f64 x (tan.f64 x)) 1)
(/.f64 (-.f64 (tan.f64 x) x) -1)
(/.f64 (+.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x))) 2)
(/.f64 (+.f64 (-.f64 (tan.f64 x) x) (-.f64 (tan.f64 x) x)) -2)
(/.f64 (-.f64 (-.f64 x (tan.f64 x)) (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x)))) (+.f64 (-.f64 (tan.f64 x) x) 1))
(/.f64 (+.f64 (+.f64 (-.f64 (tan.f64 x) x) (-.f64 (tan.f64 x) x)) (+.f64 (-.f64 (tan.f64 x) x) (-.f64 (tan.f64 x) x))) -4)
(/.f64 (+.f64 (-.f64 (-.f64 x (tan.f64 x)) (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x)))) (-.f64 (-.f64 x (tan.f64 x)) (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x))))) (+.f64 (+.f64 (-.f64 (tan.f64 x) x) 1) (+.f64 (-.f64 (tan.f64 x) x) 1)))
(pow.f64 (-.f64 x (tan.f64 x)) 1)
(neg.f64 (-.f64 (tan.f64 x) x))
(if (!=.f64 (+.f64 x (tan.f64 x)) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))
(if (!=.f64 (tan.f64 x) 0) (/.f64 (*.f64 (tan.f64 x) (-.f64 x (tan.f64 x))) (tan.f64 x)) (-.f64 x (tan.f64 x)))
(if (!=.f64 x 0) (/.f64 (*.f64 x (-.f64 x (tan.f64 x))) x) (-.f64 x (tan.f64 x)))
(if (!=.f64 (-.f64 (neg.f64 (tan.f64 x)) x) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))
(if (!=.f64 (neg.f64 (tan.f64 x)) 0) (/.f64 (*.f64 (tan.f64 x) (-.f64 x (tan.f64 x))) (tan.f64 x)) (-.f64 x (tan.f64 x)))
(if (!=.f64 (neg.f64 x) 0) (/.f64 (*.f64 x (-.f64 x (tan.f64 x))) x) (-.f64 x (tan.f64 x)))
(if (!=.f64 (-.f64 (tan.f64 x) x) 0) (/.f64 (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 x (tan.f64 x)) 0)) 0) (-.f64 x (tan.f64 x)))
(+.f64 (sin.f64 x) 0)
(+.f64 0 (sin.f64 x))
(+.f64 (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (cos.f64 (neg.f64 x))) (neg.f64 (*.f64 (sin.f64 (/.f64 (PI.f64) 2)) (sin.f64 (neg.f64 x)))))
(-.f64 (sin.f64 x) 0)
(-.f64 0 (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (cos.f64 (neg.f64 x))) (*.f64 (sin.f64 (/.f64 (PI.f64) 2)) (sin.f64 (neg.f64 x))))
(*.f64 (sin.f64 x) 1)
(*.f64 (neg.f64 (sin.f64 x)) -1)
(*.f64 -1 (neg.f64 (sin.f64 x)))
(/.f64 (neg.f64 (sin.f64 x)) -1)
(pow.f64 (sin.f64 x) 1)
(neg.f64 (neg.f64 (sin.f64 x)))
(cos.f64 (-.f64 (/.f64 (PI.f64) 2) x))
Outputs
(*.f64 1/6 (pow.f64 x 3))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 -1/120 (pow.f64 x 5)))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 -1/120 (pow.f64 x 5))))
(+.f64 (*.f64 -1/120 (pow.f64 x 5)) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 1/5040 (pow.f64 x 7))))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/362880 (pow.f64 x 9)) (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 -1/120 (pow.f64 x 5)))))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (+.f64 (*.f64 -1/362880 (pow.f64 x 9)) (*.f64 1/5040 (pow.f64 x 7)))))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 -1/362880 (pow.f64 x 9)))))
x
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(-.f64 x (sin.f64 x))
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(-.f64 x (sin.f64 x))
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(-.f64 x (sin.f64 x))
x
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(-.f64 x (sin.f64 x))
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(-.f64 x (sin.f64 x))
(+.f64 (*.f64 -1 (sin.f64 x)) x)
(-.f64 x (sin.f64 x))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 (pow.f64 x 3) -1/3)
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -2/15 (pow.f64 x 5)))
(+.f64 (*.f64 (pow.f64 x 3) -1/3) (*.f64 (pow.f64 x 5) -2/15))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -2/15 (pow.f64 x 5))))
(+.f64 (*.f64 (pow.f64 x 3) -1/3) (+.f64 (*.f64 (pow.f64 x 5) -2/15) (*.f64 (pow.f64 x 7) -17/315)))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 (*.f64 -62/2835 (pow.f64 x 9)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -2/15 (pow.f64 x 5)))))
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) -1/3) (*.f64 (pow.f64 x 5) -2/15)) (+.f64 (*.f64 (pow.f64 x 7) -17/315) (*.f64 (pow.f64 x 9) -62/2835)))
(+.f64 (*.f64 (pow.f64 x 3) -1/3) (+.f64 (+.f64 (*.f64 (pow.f64 x 5) -2/15) (*.f64 (pow.f64 x 9) -62/2835)) (*.f64 (pow.f64 x 7) -17/315)))
x
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 x (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 x (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 x (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 x (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 x (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 x (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
x
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 x (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 x (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 x (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 x (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))) x)
(+.f64 x (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 x (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
-1/2
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) -1/2)
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
(+.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) -1/2)
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 27/112000 (pow.f64 x 6)))) 1/2)
(+.f64 (+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (+.f64 (*.f64 27/112000 (pow.f64 x 6)) (*.f64 9/40 (pow.f64 x 2)))) -1/2)
(+.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 27/112000 (pow.f64 x 6)))) -1/2)
1
(-.f64 (+.f64 1 (*.f64 -1 (/.f64 (sin.f64 x) x))) (*.f64 -1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
(-.f64 (+.f64 1 (*.f64 -1 (/.f64 (sin.f64 x) x))) (*.f64 -1 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x)))))
(-.f64 (+.f64 1 (neg.f64 (/.f64 (sin.f64 x) x))) (neg.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x)))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) x)) (/.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 (cos.f64 x) (pow.f64 x 2))))) (*.f64 -1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) x)) (/.f64 (*.f64 (sin.f64 x) (*.f64 -1 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 (cos.f64 x) (pow.f64 x 2))))) (*.f64 -1 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x)))))
(-.f64 (+.f64 1 (+.f64 (neg.f64 (/.f64 (sin.f64 x) x)) (/.f64 (*.f64 (sin.f64 x) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x))) (*.f64 (cos.f64 x) (pow.f64 x 2))))) (neg.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x)))))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (-.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 3))) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) x)) (/.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 (cos.f64 x) (pow.f64 x 2)))))) (*.f64 -1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
(-.f64 (+.f64 1 (+.f64 (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) x)) (/.f64 (*.f64 (sin.f64 x) (*.f64 -1 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 (cos.f64 x) (pow.f64 x 2)))) (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 x) 2))))) (*.f64 -1 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x)))))
(-.f64 (+.f64 1 (+.f64 (+.f64 (neg.f64 (/.f64 (sin.f64 x) x)) (/.f64 (*.f64 (sin.f64 x) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x))) (*.f64 (cos.f64 x) (pow.f64 x 2)))) (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x))) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 x) 2))))) (neg.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x)))))
1
(+.f64 1 (*.f64 -1 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))
(+.f64 1 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (cos.f64 x) (pow.f64 x 2)))) (*.f64 -1 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (cos.f64 x) (pow.f64 x 2)))) (+.f64 1 (*.f64 -1 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x))))
(+.f64 1 (+.f64 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)) (neg.f64 (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (cos.f64 x) (pow.f64 x 2))))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 3)))) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (cos.f64 x) (pow.f64 x 2)))) (*.f64 -1 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (cos.f64 x) (pow.f64 x 2))))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 x) 2))))))
(+.f64 (+.f64 1 (+.f64 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)) (neg.f64 (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (*.f64 (cos.f64 x) (pow.f64 x 2)))))) (neg.f64 (/.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (pow.f64 (sin.f64 x) 2)) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 x) 2)))))
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(+.f64 x (*.f64 (pow.f64 x 3) -1/6))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 1/120)))
(+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 x (*.f64 (pow.f64 x 5) 1/120)))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(+.f64 (+.f64 x (*.f64 (pow.f64 x 5) 1/120)) (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 7) -1/5040)))
(+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 1/120) (*.f64 (pow.f64 x 7) -1/5040))))
(+.f64 x (neg.f64 (sin.f64 x)))
(-.f64 x (sin.f64 x))
(+.f64 (-.f64 x (sin.f64 x)) 0)
(-.f64 x (sin.f64 x))
(+.f64 (neg.f64 (sin.f64 x)) x)
(-.f64 x (sin.f64 x))
(+.f64 0 (-.f64 x (sin.f64 x)))
(-.f64 x (sin.f64 x))
(*.f64 (-.f64 x (sin.f64 x)) 1)
(-.f64 x (sin.f64 x))
(*.f64 (-.f64 (sin.f64 x) x) -1)
(-.f64 x (sin.f64 x))
(*.f64 -1 (-.f64 (sin.f64 x) x))
(-.f64 x (sin.f64 x))
(/.f64 (-.f64 x (sin.f64 x)) 1)
(-.f64 x (sin.f64 x))
(/.f64 (-.f64 (sin.f64 x) x) -1)
(-.f64 x (sin.f64 x))
(/.f64 (+.f64 x (-.f64 (-.f64 x (sin.f64 x)) (sin.f64 x))) 2)
(-.f64 x (sin.f64 x))
(/.f64 (+.f64 (-.f64 (sin.f64 x) x) (-.f64 (sin.f64 x) x)) -2)
(-.f64 x (sin.f64 x))
(/.f64 (+.f64 (-.f64 x (sin.f64 x)) (*.f64 (-.f64 x (sin.f64 x)) (-.f64 (sin.f64 x) x))) (+.f64 (-.f64 (sin.f64 x) x) 1))
(-.f64 x (sin.f64 x))
(/.f64 (+.f64 (+.f64 (-.f64 (sin.f64 x) x) (-.f64 (sin.f64 x) x)) (+.f64 (-.f64 (sin.f64 x) x) (-.f64 (sin.f64 x) x))) -4)
(-.f64 x (sin.f64 x))
(/.f64 (+.f64 (+.f64 (-.f64 x (sin.f64 x)) (*.f64 (-.f64 x (sin.f64 x)) (-.f64 (sin.f64 x) x))) (+.f64 (-.f64 x (sin.f64 x)) (*.f64 (-.f64 x (sin.f64 x)) (-.f64 (sin.f64 x) x)))) (+.f64 (+.f64 (-.f64 (sin.f64 x) x) 1) (+.f64 (-.f64 (sin.f64 x) x) 1)))
(-.f64 x (sin.f64 x))
(pow.f64 (-.f64 x (sin.f64 x)) 1)
(-.f64 x (sin.f64 x))
(neg.f64 (-.f64 (sin.f64 x) x))
(-.f64 x (sin.f64 x))
(if (!=.f64 (+.f64 x (sin.f64 x)) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (sin.f64 x) (sin.f64 x))) (+.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))
(-.f64 x (sin.f64 x))
(if (!=.f64 (sin.f64 x) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 x (sin.f64 x))) (sin.f64 x)) (-.f64 x (sin.f64 x)))
(-.f64 x (sin.f64 x))
(if (!=.f64 x 0) (/.f64 (*.f64 x (-.f64 x (sin.f64 x))) x) (-.f64 x (sin.f64 x)))
(-.f64 x (sin.f64 x))
(if (!=.f64 (-.f64 (neg.f64 (sin.f64 x)) x) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (sin.f64 x) (sin.f64 x))) (+.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))
(if (!=.f64 (-.f64 (neg.f64 (sin.f64 x)) x) 0) (/.f64 (-.f64 (*.f64 x x) (pow.f64 (sin.f64 x) 2)) (+.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))
(if (!=.f64 (neg.f64 x) 0) (/.f64 (*.f64 x (-.f64 x (sin.f64 x))) x) (-.f64 x (sin.f64 x)))
(if (!=.f64 (neg.f64 (sin.f64 x)) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 x (sin.f64 x))) (sin.f64 x)) (-.f64 x (sin.f64 x)))
(if (!=.f64 (-.f64 (sin.f64 x) x) 0) (/.f64 (*.f64 (-.f64 x (sin.f64 x)) (-.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x))) (-.f64 x (sin.f64 x)))
(-.f64 x (sin.f64 x))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 x (sin.f64 x)) 0)) 0) (-.f64 x (sin.f64 x)))
(-.f64 x (sin.f64 x))
(+.f64 x (neg.f64 (tan.f64 x)))
(-.f64 x (tan.f64 x))
(+.f64 (-.f64 x (tan.f64 x)) 0)
(-.f64 x (tan.f64 x))
(+.f64 (neg.f64 (tan.f64 x)) x)
(-.f64 x (tan.f64 x))
(+.f64 0 (-.f64 x (tan.f64 x)))
(-.f64 x (tan.f64 x))
(*.f64 (-.f64 x (tan.f64 x)) 1)
(-.f64 x (tan.f64 x))
(*.f64 (-.f64 (tan.f64 x) x) -1)
(-.f64 x (tan.f64 x))
(*.f64 -1 (-.f64 (tan.f64 x) x))
(-.f64 x (tan.f64 x))
(/.f64 (-.f64 x (tan.f64 x)) 1)
(-.f64 x (tan.f64 x))
(/.f64 (-.f64 (tan.f64 x) x) -1)
(-.f64 x (tan.f64 x))
(/.f64 (+.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x))) 2)
(-.f64 x (tan.f64 x))
(/.f64 (+.f64 (-.f64 (tan.f64 x) x) (-.f64 (tan.f64 x) x)) -2)
(-.f64 x (tan.f64 x))
(/.f64 (-.f64 (-.f64 x (tan.f64 x)) (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x)))) (+.f64 (-.f64 (tan.f64 x) x) 1))
(-.f64 x (tan.f64 x))
(/.f64 (+.f64 (+.f64 (-.f64 (tan.f64 x) x) (-.f64 (tan.f64 x) x)) (+.f64 (-.f64 (tan.f64 x) x) (-.f64 (tan.f64 x) x))) -4)
(-.f64 x (tan.f64 x))
(/.f64 (+.f64 (-.f64 (-.f64 x (tan.f64 x)) (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x)))) (-.f64 (-.f64 x (tan.f64 x)) (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x))))) (+.f64 (+.f64 (-.f64 (tan.f64 x) x) 1) (+.f64 (-.f64 (tan.f64 x) x) 1)))
(-.f64 x (tan.f64 x))
(pow.f64 (-.f64 x (tan.f64 x)) 1)
(-.f64 x (tan.f64 x))
(neg.f64 (-.f64 (tan.f64 x) x))
(-.f64 x (tan.f64 x))
(if (!=.f64 (+.f64 x (tan.f64 x)) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))
(-.f64 x (tan.f64 x))
(if (!=.f64 (tan.f64 x) 0) (/.f64 (*.f64 (tan.f64 x) (-.f64 x (tan.f64 x))) (tan.f64 x)) (-.f64 x (tan.f64 x)))
(-.f64 x (tan.f64 x))
(if (!=.f64 x 0) (/.f64 (*.f64 x (-.f64 x (tan.f64 x))) x) (-.f64 x (tan.f64 x)))
(-.f64 x (tan.f64 x))
(if (!=.f64 (-.f64 (neg.f64 (tan.f64 x)) x) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))
(if (!=.f64 (-.f64 (neg.f64 x) (tan.f64 x)) 0) (/.f64 (-.f64 (*.f64 x x) (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))
(if (!=.f64 (neg.f64 (tan.f64 x)) 0) (/.f64 (*.f64 (tan.f64 x) (-.f64 x (tan.f64 x))) (tan.f64 x)) (-.f64 x (tan.f64 x)))
(if (!=.f64 (neg.f64 x) 0) (/.f64 (*.f64 x (-.f64 x (tan.f64 x))) x) (-.f64 x (tan.f64 x)))
(if (!=.f64 (-.f64 (tan.f64 x) x) 0) (/.f64 (*.f64 (-.f64 x (tan.f64 x)) (-.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x))) (-.f64 x (tan.f64 x)))
(-.f64 x (tan.f64 x))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 x (tan.f64 x)) 0)) 0) (-.f64 x (tan.f64 x)))
(-.f64 x (tan.f64 x))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(+.f64 0 (sin.f64 x))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (cos.f64 (neg.f64 x))) (neg.f64 (*.f64 (sin.f64 (/.f64 (PI.f64) 2)) (sin.f64 (neg.f64 x)))))
(sin.f64 x)
(-.f64 (sin.f64 x) 0)
(sin.f64 x)
(-.f64 0 (neg.f64 (sin.f64 x)))
(sin.f64 x)
(-.f64 (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (cos.f64 (neg.f64 x))) (*.f64 (sin.f64 (/.f64 (PI.f64) 2)) (sin.f64 (neg.f64 x))))
(sin.f64 x)
(*.f64 (sin.f64 x) 1)
(sin.f64 x)
(*.f64 (neg.f64 (sin.f64 x)) -1)
(sin.f64 x)
(*.f64 -1 (neg.f64 (sin.f64 x)))
(sin.f64 x)
(/.f64 (neg.f64 (sin.f64 x)) -1)
(sin.f64 x)
(pow.f64 (sin.f64 x) 1)
(sin.f64 x)
(neg.f64 (neg.f64 (sin.f64 x)))
(sin.f64 x)
(cos.f64 (-.f64 (/.f64 (PI.f64) 2) x))
(sin.f64 x)

eval27.0ms (0.3%)

Compiler

Compiled 2496 to 984 computations (60.6% saved)

prune18.0ms (0.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1156121
Fresh000
Picked011
Done000
Total1157122
Error
0b
Counts
122 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
28.1b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
29.3b
(/.f64 x (-.f64 x (tan.f64 x)))
34.8b
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
34.2b
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
28.8b
(+.f64 1 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))
29.0b
1
34.7b
-1/2
Compiler

Compiled 57 to 42 computations (26.3% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 x)
0.2b
(/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)
0.2b
(/.f64 (sin.f64 x) (cos.f64 x))
2.2b
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
Compiler

Compiled 54 to 10 computations (81.5% saved)

series2.0ms (0%)

Counts
3 → 12
Calls

9 calls:

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

rewrite64.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1084×rational_best-simplify-105
986×rational_best-simplify-96
906×rational_best-simplify-61
882×rational_best-simplify-65
612×rational_best-simplify-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0971
15671
236371
3255471
Stop Event
node limit
Counts
3 → 33
Calls
Call 1
Inputs
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(/.f64 (sin.f64 x) (cos.f64 x))
(/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 x) (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 x) (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))) (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x))) (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))) (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))))) (+.f64 (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 1) (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 0) (/.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) (cos.f64 x)))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 0) (/.f64 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sin.f64 x) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (sin.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) (sin.f64 x)) 0) (/.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) (cos.f64 x)))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 0) (/.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (sin.f64 x)) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (sin.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) 0) (/.f64 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 0)) 0) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))))))
()

simplify60.0ms (0.6%)

Algorithm
egg-herbie
Rules
892×rational_best-simplify-61
850×rational_best-simplify-65
848×rational_best-simplify-96
648×rational_best-simplify-62
542×rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01301167
14841167
228671167
Stop Event
node limit
Counts
45 → 60
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 x 3))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (*.f64 -1/8 (pow.f64 x 5)))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (+.f64 (*.f64 -13/240 (pow.f64 x 7)) (*.f64 -1/8 (pow.f64 x 5))))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (+.f64 (*.f64 -529/24192 (pow.f64 x 9)) (+.f64 (*.f64 -13/240 (pow.f64 x 7)) (*.f64 -1/8 (pow.f64 x 5)))))
x
(+.f64 (*.f64 1/3 (pow.f64 x 3)) x)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
(+.f64 (*.f64 17/315 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x)))
(*.f64 -1/2 (pow.f64 x 2))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 -13/240 (pow.f64 x 6))))
(+.f64 (*.f64 -529/24192 (pow.f64 x 8)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 -13/240 (pow.f64 x 6)))))
(+.f64 (sin.f64 x) (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 0)
(+.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) (sin.f64 x))
(+.f64 0 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 1)
(*.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) -1)
(*.f64 -1 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)))
(/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 1)
(/.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) -1)
(/.f64 (+.f64 (sin.f64 x) (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) (cos.f64 x)))) 2)
(/.f64 (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x))) -2)
(/.f64 (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))) (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 1))
(/.f64 (+.f64 (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x))) (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)))) -4)
(/.f64 (+.f64 (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))) (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))))) (+.f64 (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 1) (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 1)))
(pow.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 1)
(neg.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)))
(if (!=.f64 (+.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 0) (/.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) (cos.f64 x)))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(if (!=.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 0) (/.f64 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(if (!=.f64 (sin.f64 x) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (sin.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(if (!=.f64 (-.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) (sin.f64 x)) 0) (/.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) (cos.f64 x)))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(if (!=.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 0) (/.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(if (!=.f64 (neg.f64 (sin.f64 x)) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (sin.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(if (!=.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) 0) (/.f64 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 0)) 0) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 0)
(+.f64 0 (/.f64 (sin.f64 x) (cos.f64 x)))
(-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 0)
(-.f64 0 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 1)
(*.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) -1)
(*.f64 -1 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(pow.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 1)
(neg.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
Outputs
(*.f64 -1/2 (pow.f64 x 3))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (*.f64 -1/8 (pow.f64 x 5)))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (+.f64 (*.f64 -13/240 (pow.f64 x 7)) (*.f64 -1/8 (pow.f64 x 5))))
(+.f64 (*.f64 -1/8 (pow.f64 x 5)) (+.f64 (*.f64 -1/2 (pow.f64 x 3)) (*.f64 -13/240 (pow.f64 x 7))))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (-.f64 (*.f64 -13/240 (pow.f64 x 7)) (*.f64 (pow.f64 x 5) 1/8)))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (+.f64 (*.f64 -529/24192 (pow.f64 x 9)) (+.f64 (*.f64 -13/240 (pow.f64 x 7)) (*.f64 -1/8 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (+.f64 (*.f64 -1/8 (pow.f64 x 5)) (+.f64 (*.f64 -529/24192 (pow.f64 x 9)) (*.f64 -13/240 (pow.f64 x 7)))))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (+.f64 (*.f64 -1/8 (pow.f64 x 5)) (+.f64 (*.f64 -13/240 (pow.f64 x 7)) (*.f64 -529/24192 (pow.f64 x 9)))))
(+.f64 (*.f64 -1/2 (pow.f64 x 3)) (-.f64 (+.f64 (*.f64 -13/240 (pow.f64 x 7)) (*.f64 -529/24192 (pow.f64 x 9))) (*.f64 (pow.f64 x 5) 1/8)))
x
(+.f64 (*.f64 1/3 (pow.f64 x 3)) x)
(+.f64 x (*.f64 (pow.f64 x 3) 1/3))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
(+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 (pow.f64 x 5) 2/15)))
(+.f64 (*.f64 17/315 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x)))
(+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (+.f64 x (*.f64 (pow.f64 x 5) 2/15)) (*.f64 (pow.f64 x 7) 17/315)))
(+.f64 (*.f64 (pow.f64 x 5) 2/15) (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/3)) (*.f64 (pow.f64 x 7) 17/315)))
(*.f64 -1/2 (pow.f64 x 2))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 -13/240 (pow.f64 x 6))))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (-.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 (pow.f64 x 6) 13/240)))
(+.f64 (*.f64 -529/24192 (pow.f64 x 8)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 -13/240 (pow.f64 x 6)))))
(+.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 -13/240 (pow.f64 x 6))) (+.f64 (*.f64 -529/24192 (pow.f64 x 8)) (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 -13/240 (pow.f64 x 6))) (*.f64 -529/24192 (pow.f64 x 8))))
(+.f64 (-.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 (pow.f64 x 6) 13/240)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -529/24192 (pow.f64 x 8))))
(+.f64 (sin.f64 x) (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(+.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 0)
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(+.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) (sin.f64 x))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(+.f64 0 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 1)
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(*.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) -1)
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(*.f64 -1 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 1)
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(/.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) -1)
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(/.f64 (+.f64 (sin.f64 x) (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) (cos.f64 x)))) 2)
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(/.f64 (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x))) -2)
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(/.f64 (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))) (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 1))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(/.f64 (+.f64 (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x))) (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)))) -4)
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(/.f64 (+.f64 (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))) (-.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))))) (+.f64 (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 1) (+.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 1)))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(pow.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 1)
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(neg.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(if (!=.f64 (+.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 0) (/.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) (cos.f64 x)))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(if (!=.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 0) (/.f64 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(if (!=.f64 (sin.f64 x) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (sin.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(if (!=.f64 (-.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) (sin.f64 x)) 0) (/.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) (cos.f64 x)))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(if (!=.f64 (-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (sin.f64 x)) 0) (/.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(if (!=.f64 (neg.f64 (sin.f64 x)) 0) (/.f64 (*.f64 (sin.f64 x) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (sin.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(if (!=.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) 0) (/.f64 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))) (/.f64 (sin.f64 x) (cos.f64 x))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) 0)) 0) (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))))
(-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x)))
(+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 0)
(/.f64 (sin.f64 x) (cos.f64 x))
(+.f64 0 (/.f64 (sin.f64 x) (cos.f64 x)))
(/.f64 (sin.f64 x) (cos.f64 x))
(-.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 0)
(/.f64 (sin.f64 x) (cos.f64 x))
(-.f64 0 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(/.f64 (sin.f64 x) (cos.f64 x))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 1)
(/.f64 (sin.f64 x) (cos.f64 x))
(*.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))) -1)
(/.f64 (sin.f64 x) (cos.f64 x))
(*.f64 -1 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(/.f64 (sin.f64 x) (cos.f64 x))
(pow.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 1)
(/.f64 (sin.f64 x) (cos.f64 x))
(neg.f64 (neg.f64 (/.f64 (sin.f64 x) (cos.f64 x))))
(/.f64 (sin.f64 x) (cos.f64 x))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 9/40 (pow.f64 x 2))
Compiler

Compiled 20 to 16 computations (20% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 9/40 (pow.f64 x 2))
0.0ms
x
@inf
(*.f64 9/40 (pow.f64 x 2))
0.0ms
x
@-inf
(*.f64 9/40 (pow.f64 x 2))

rewrite13.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
rational_best-simplify-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
Stop Event
saturated
Counts
1 → 0
Calls
Call 1
Inputs
(*.f64 9/40 (pow.f64 x 2))
Outputs
()

simplify57.0ms (0.6%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

localize18.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -27/2800 (pow.f64 x 4))
0.1b
(*.f64 9/40 (pow.f64 x 2))
19.5b
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
Compiler

Compiled 47 to 38 computations (19.1% saved)

series2.0ms (0%)

Counts
3 → 6
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
0.0ms
x
@inf
(*.f64 -27/2800 (pow.f64 x 4))
0.0ms
x
@0
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
0.0ms
x
@0
(*.f64 -27/2800 (pow.f64 x 4))
0.0ms
x
@-inf
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))

rewrite67.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
480×rational_best-simplify-111
476×rational_best-simplify-110
468×rational_best-simplify-124
462×rational_best-simplify-96
456×rational_best-simplify-127
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01257
11857
25357
323557
4136557
Stop Event
node limit
Counts
3 → 62
Calls
Call 1
Inputs
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 9/40 (pow.f64 x 2))
(*.f64 -27/2800 (pow.f64 x 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) -9/40))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))) (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800))))) (+.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))) (-.f64 1 (*.f64 1 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -2 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))) (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))))) (-.f64 4 (*.f64 -2 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800))))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))))) (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1)) (*.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) -9/40)) 0) (/.f64 (+.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 9/40 (pow.f64 x 2))) (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (pow.f64 x 2) -9/40) 0) (/.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 9/40 (pow.f64 x 2))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) (/.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800)) 0) (/.f64 (+.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 9/40 (pow.f64 x 2))) (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 9/40 (pow.f64 x 2)) 0) (/.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 9/40 (pow.f64 x 2))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (pow.f64 x 4) 27/2800) 0) (/.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 0 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 0) (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 9/40 (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 9/40 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 9/40 (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (pow.f64 x 2) -9/40))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 9/40 (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) -9/40) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) 9/20) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) -9/20) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/20) (*.f64 (pow.f64 x 2) -9/20)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1))) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -2 (*.f64 (pow.f64 x 2) -9/20)) (*.f64 (*.f64 (pow.f64 x 2) -9/20) (*.f64 (pow.f64 x 2) -9/20))) (-.f64 4 (*.f64 -2 (*.f64 (pow.f64 x 2) -9/20))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1))) (*.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)))) (-.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 9/40 (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 x 2) -9/40))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (pow.f64 x 2) -9/40) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (/.f64 0 (*.f64 9/40 (pow.f64 x 2)))) (*.f64 9/40 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 9/40 (pow.f64 x 2)) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (/.f64 0 (*.f64 9/40 (pow.f64 x 2)))) (*.f64 9/40 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 9/40 (pow.f64 x 2)) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (/.f64 0 (*.f64 9/40 (pow.f64 x 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 0 0) (*.f64 9/40 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 -1 0) (*.f64 9/40 (pow.f64 x 2)) (*.f64 9/40 (pow.f64 x 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -27/2800 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (pow.f64 x 4) 27/2800))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -27/2800 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 4) 27/2800) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (*.f64 (pow.f64 x 4) 27/2800)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 -27/2800 (*.f64 (pow.f64 x 4) (*.f64 -27/2800 (pow.f64 x 4))))) (-.f64 1 (*.f64 -27/2800 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -27/2800 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 x 4) 27/2800))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) (/.f64 (-.f64 (*.f64 -27/2800 (*.f64 (pow.f64 x 4) (*.f64 -27/2800 (pow.f64 x 4)))) 0) (*.f64 -27/2800 (pow.f64 x 4))) (*.f64 -27/2800 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) (/.f64 (*.f64 -27/2800 (*.f64 (pow.f64 x 4) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 -27/2800 (pow.f64 x 4))) (*.f64 -27/2800 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (pow.f64 x 4) 27/2800) 0) (/.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 -27/2800 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (-.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) 0) 0) (*.f64 -27/2800 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (-.f64 0 (*.f64 0 (*.f64 (pow.f64 x 4) 27/2800))) 0) (*.f64 -27/2800 (pow.f64 x 4)))))))

simplify98.0ms (1%)

Algorithm
egg-herbie
Rules
834×rational_best-simplify-53
824×rational_best-simplify-1
688×rational_best-simplify-52
546×rational_best-simplify-21
544×rational_best-simplify-18
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01711678
19441654
263801654
Stop Event
node limit
Counts
68 → 69
Calls
Call 1
Inputs
(*.f64 9/40 (pow.f64 x 2))
(+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 9/40 (pow.f64 x 2)))
(+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 9/40 (pow.f64 x 2)))
(+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 9/40 (pow.f64 x 2)))
(*.f64 -27/2800 (pow.f64 x 4))
(*.f64 -27/2800 (pow.f64 x 4))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))
(-.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) -9/40))
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 0)
(-.f64 0 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))
(*.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1)
(*.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) -1)
(/.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1)
(/.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) -1)
(/.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))) -2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1))
(/.f64 (+.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) 2)
(/.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))) (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40)))) -4)
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800))))) (+.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1)))
(/.f64 (-.f64 (*.f64 1 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))) (-.f64 1 (*.f64 1 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))
(/.f64 (-.f64 (*.f64 -2 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))) (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))))) (-.f64 4 (*.f64 -2 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))))))
(/.f64 (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800))))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))))) (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1)) (*.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))))))
(pow.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1)
(neg.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))
(if (!=.f64 (+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) -9/40)) 0) (/.f64 (+.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 9/40 (pow.f64 x 2))) (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (*.f64 (pow.f64 x 2) -9/40) 0) (/.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 9/40 (pow.f64 x 2))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) (/.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800)) 0) (/.f64 (+.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 9/40 (pow.f64 x 2))) (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (*.f64 9/40 (pow.f64 x 2)) 0) (/.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 9/40 (pow.f64 x 2))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (*.f64 (pow.f64 x 4) 27/2800) 0) (/.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 0 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 0) (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) 0)
(+.f64 0 (*.f64 9/40 (pow.f64 x 2)))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 0)
(-.f64 0 (*.f64 (pow.f64 x 2) -9/40))
(/.f64 (*.f64 9/40 (pow.f64 x 2)) 1)
(/.f64 (*.f64 (pow.f64 x 2) -9/40) -1)
(/.f64 (*.f64 (pow.f64 x 2) 9/20) 2)
(/.f64 (*.f64 (pow.f64 x 2) -9/20) -2)
(/.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/20) (*.f64 (pow.f64 x 2) -9/20)) -4)
(/.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1))
(/.f64 (+.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1))) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)))
(/.f64 (-.f64 (*.f64 -2 (*.f64 (pow.f64 x 2) -9/20)) (*.f64 (*.f64 (pow.f64 x 2) -9/20) (*.f64 (pow.f64 x 2) -9/20))) (-.f64 4 (*.f64 -2 (*.f64 (pow.f64 x 2) -9/20))))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1))) (*.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)))) (-.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)))))
(pow.f64 (*.f64 9/40 (pow.f64 x 2)) 1)
(neg.f64 (*.f64 (pow.f64 x 2) -9/40))
(if (!=.f64 (*.f64 (pow.f64 x 2) -9/40) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (/.f64 0 (*.f64 9/40 (pow.f64 x 2)))) (*.f64 9/40 (pow.f64 x 2)))
(if (!=.f64 (*.f64 9/40 (pow.f64 x 2)) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (/.f64 0 (*.f64 9/40 (pow.f64 x 2)))) (*.f64 9/40 (pow.f64 x 2)))
(if (!=.f64 (*.f64 9/40 (pow.f64 x 2)) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (/.f64 0 (*.f64 9/40 (pow.f64 x 2)))) 0)
(if (!=.f64 0 0) (/.f64 0 0) (*.f64 9/40 (pow.f64 x 2)))
(if (!=.f64 -1 0) (*.f64 9/40 (pow.f64 x 2)) (*.f64 9/40 (pow.f64 x 2)))
(+.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0)
(+.f64 0 (*.f64 -27/2800 (pow.f64 x 4)))
(-.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0)
(-.f64 0 (*.f64 (pow.f64 x 4) 27/2800))
(/.f64 (*.f64 -27/2800 (pow.f64 x 4)) 1)
(/.f64 (*.f64 (pow.f64 x 4) 27/2800) -1)
(/.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (*.f64 (pow.f64 x 4) 27/2800)) -2)
(/.f64 (-.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 -27/2800 (*.f64 (pow.f64 x 4) (*.f64 -27/2800 (pow.f64 x 4))))) (-.f64 1 (*.f64 -27/2800 (pow.f64 x 4))))
(pow.f64 (*.f64 -27/2800 (pow.f64 x 4)) 1)
(neg.f64 (*.f64 (pow.f64 x 4) 27/2800))
(if (!=.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) (/.f64 (-.f64 (*.f64 -27/2800 (*.f64 (pow.f64 x 4) (*.f64 -27/2800 (pow.f64 x 4)))) 0) (*.f64 -27/2800 (pow.f64 x 4))) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) (/.f64 (*.f64 -27/2800 (*.f64 (pow.f64 x 4) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 -27/2800 (pow.f64 x 4))) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 (*.f64 (pow.f64 x 4) 27/2800) 0) (/.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 0 0) (/.f64 (-.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) 0) 0) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 0 0) (/.f64 (-.f64 0 (*.f64 0 (*.f64 (pow.f64 x 4) 27/2800))) 0) (*.f64 -27/2800 (pow.f64 x 4)))
Outputs
(*.f64 9/40 (pow.f64 x 2))
(+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 9/40 (pow.f64 x 2)))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 9/40 (pow.f64 x 2)))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 9/40 (pow.f64 x 2)))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 -27/2800 (pow.f64 x 4))
(*.f64 -27/2800 (pow.f64 x 4))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(-.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) -9/40))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 0)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(-.f64 0 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) -1)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) -1)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))) -2)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (+.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) 2)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))) (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40)))) -4)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800))))) (+.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1)))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (-.f64 (*.f64 1 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))) (-.f64 1 (*.f64 1 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (-.f64 (*.f64 -2 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))) (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))))) (-.f64 4 (*.f64 -2 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 2) -9/40))))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(/.f64 (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800))))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))))) (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1)) (*.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 1) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (-.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(pow.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1)
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(neg.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 (+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) -9/40)) 0) (/.f64 (+.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 9/40 (pow.f64 x 2))) (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) -9/40)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 9/40 (pow.f64 x 2)) 2) (*.f64 27/2800 (*.f64 -27/2800 (pow.f64 x 8)))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (+.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) -9/40)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 9/40 (pow.f64 x 2)) 2) (*.f64 27/2800 (*.f64 (pow.f64 x 8) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (*.f64 (pow.f64 x 2) -9/40) 0) (/.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 9/40 (pow.f64 x 2))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) (/.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800)) 0) (/.f64 (+.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 9/40 (pow.f64 x 2))) (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 (*.f64 9/40 (pow.f64 x 2)) 0) (/.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 9/40 (pow.f64 x 2))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 (*.f64 (pow.f64 x 4) 27/2800) 0) (/.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 (*.f64 (pow.f64 x 4) 27/2800) 0) (/.f64 (*.f64 -27/2800 (*.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) (pow.f64 x 4))) (*.f64 -27/2800 (pow.f64 x 4))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 0 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)))) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(if (!=.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) 0) (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800)) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))) (+.f64 (*.f64 (pow.f64 x 2) -9/40) (*.f64 (pow.f64 x 4) 27/2800))) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4)))
(+.f64 (*.f64 9/40 (pow.f64 x 2)) 0)
(*.f64 9/40 (pow.f64 x 2))
(+.f64 0 (*.f64 9/40 (pow.f64 x 2)))
(*.f64 9/40 (pow.f64 x 2))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 0)
(*.f64 9/40 (pow.f64 x 2))
(-.f64 0 (*.f64 (pow.f64 x 2) -9/40))
(*.f64 9/40 (pow.f64 x 2))
(/.f64 (*.f64 9/40 (pow.f64 x 2)) 1)
(*.f64 9/40 (pow.f64 x 2))
(/.f64 (*.f64 (pow.f64 x 2) -9/40) -1)
(*.f64 9/40 (pow.f64 x 2))
(/.f64 (*.f64 (pow.f64 x 2) 9/20) 2)
(/.f64 (*.f64 (pow.f64 x 2) -9/20) -2)
(/.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/20) (*.f64 (pow.f64 x 2) -9/20)) -4)
(/.f64 (*.f64 (pow.f64 x 2) -9/20) -2)
(/.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1))
(*.f64 9/40 (pow.f64 x 2))
(/.f64 (+.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1))) (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)))
(*.f64 9/40 (pow.f64 x 2))
(/.f64 (-.f64 (*.f64 -2 (*.f64 (pow.f64 x 2) -9/20)) (*.f64 (*.f64 (pow.f64 x 2) -9/20) (*.f64 (pow.f64 x 2) -9/20))) (-.f64 4 (*.f64 -2 (*.f64 (pow.f64 x 2) -9/20))))
(/.f64 (*.f64 (pow.f64 x 2) -9/20) -2)
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1))) (*.f64 (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)))) (-.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)) (*.f64 (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1) (*.f64 (*.f64 9/40 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 2) -9/40) 1)))))
(*.f64 9/40 (pow.f64 x 2))
(pow.f64 (*.f64 9/40 (pow.f64 x 2)) 1)
(*.f64 9/40 (pow.f64 x 2))
(neg.f64 (*.f64 (pow.f64 x 2) -9/40))
(*.f64 9/40 (pow.f64 x 2))
(if (!=.f64 (*.f64 (pow.f64 x 2) -9/40) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (/.f64 0 (*.f64 9/40 (pow.f64 x 2)))) (*.f64 9/40 (pow.f64 x 2)))
(*.f64 9/40 (pow.f64 x 2))
(if (!=.f64 (*.f64 9/40 (pow.f64 x 2)) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (/.f64 0 (*.f64 9/40 (pow.f64 x 2)))) (*.f64 9/40 (pow.f64 x 2)))
(*.f64 9/40 (pow.f64 x 2))
(if (!=.f64 (*.f64 9/40 (pow.f64 x 2)) 0) (+.f64 (*.f64 9/40 (pow.f64 x 2)) (/.f64 0 (*.f64 9/40 (pow.f64 x 2)))) 0)
(*.f64 9/40 (pow.f64 x 2))
(if (!=.f64 0 0) (/.f64 0 0) (*.f64 9/40 (pow.f64 x 2)))
(*.f64 9/40 (pow.f64 x 2))
(if (!=.f64 -1 0) (*.f64 9/40 (pow.f64 x 2)) (*.f64 9/40 (pow.f64 x 2)))
(*.f64 9/40 (pow.f64 x 2))
(+.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0)
(*.f64 -27/2800 (pow.f64 x 4))
(+.f64 0 (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 -27/2800 (pow.f64 x 4))
(-.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0)
(*.f64 -27/2800 (pow.f64 x 4))
(-.f64 0 (*.f64 (pow.f64 x 4) 27/2800))
(*.f64 -27/2800 (pow.f64 x 4))
(/.f64 (*.f64 -27/2800 (pow.f64 x 4)) 1)
(*.f64 -27/2800 (pow.f64 x 4))
(/.f64 (*.f64 (pow.f64 x 4) 27/2800) -1)
(*.f64 -27/2800 (pow.f64 x 4))
(/.f64 (+.f64 (*.f64 (pow.f64 x 4) 27/2800) (*.f64 (pow.f64 x 4) 27/2800)) -2)
(*.f64 -27/2800 (pow.f64 x 4))
(/.f64 (-.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 -27/2800 (*.f64 (pow.f64 x 4) (*.f64 -27/2800 (pow.f64 x 4))))) (-.f64 1 (*.f64 -27/2800 (pow.f64 x 4))))
(*.f64 -27/2800 (pow.f64 x 4))
(pow.f64 (*.f64 -27/2800 (pow.f64 x 4)) 1)
(*.f64 -27/2800 (pow.f64 x 4))
(neg.f64 (*.f64 (pow.f64 x 4) 27/2800))
(*.f64 -27/2800 (pow.f64 x 4))
(if (!=.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) (/.f64 (-.f64 (*.f64 -27/2800 (*.f64 (pow.f64 x 4) (*.f64 -27/2800 (pow.f64 x 4)))) 0) (*.f64 -27/2800 (pow.f64 x 4))) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 -27/2800 (pow.f64 x 4))
(if (!=.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) (/.f64 (*.f64 -27/2800 (*.f64 (pow.f64 x 4) (*.f64 -27/2800 (pow.f64 x 4)))) (*.f64 -27/2800 (pow.f64 x 4))) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 -27/2800 (pow.f64 x 4))
(if (!=.f64 (*.f64 (pow.f64 x 4) 27/2800) 0) (/.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 (pow.f64 x 4) 27/2800)) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 -27/2800 (pow.f64 x 4))
(if (!=.f64 0 0) (/.f64 (-.f64 (*.f64 (*.f64 -27/2800 (pow.f64 x 4)) 0) 0) 0) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 -27/2800 (pow.f64 x 4))
(if (!=.f64 0 0) (/.f64 (-.f64 0 (*.f64 0 (*.f64 (pow.f64 x 4) 27/2800))) 0) (*.f64 -27/2800 (pow.f64 x 4)))
(*.f64 -27/2800 (pow.f64 x 4))

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (-.f64 x (tan.f64 x)))
1.6b
(-.f64 x (tan.f64 x))
Compiler

Compiled 14 to 4 computations (71.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite46.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
600×rational_best-simplify-124
588×rational_best-simplify-111
576×rational_best-simplify-113
528×rational_best-simplify-96
522×rational_best-simplify-61
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
13917
221717
3149617
Stop Event
node limit
Counts
1 → 0
Calls
Call 1
Inputs
(/.f64 x (-.f64 x (tan.f64 x)))
Outputs
()

simplify81.0ms (0.8%)

Algorithm
egg-herbie
Rules
862×rational_best-simplify-18
856×rational_best-simplify-20
484×rational_best-simplify-126
478×rational_best-simplify-124
474×rational_best-simplify-127
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043534
1196534
21112534
37433534
Stop Event
node limit
Counts
12 → 22
Calls
Call 1
Inputs
(/.f64 -3 (pow.f64 x 2))
(-.f64 6/5 (*.f64 3 (/.f64 1 (pow.f64 x 2))))
(-.f64 (+.f64 (*.f64 1/175 (pow.f64 x 2)) 6/5) (*.f64 3 (/.f64 1 (pow.f64 x 2))))
(-.f64 (+.f64 (*.f64 1/175 (pow.f64 x 2)) (+.f64 6/5 (*.f64 2/7875 (pow.f64 x 4)))) (*.f64 3 (/.f64 1 (pow.f64 x 2))))
1
(+.f64 1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)))
(+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 2))) (+.f64 1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
(+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 2))) (+.f64 1 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 x 3))) (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)))))
1
(+.f64 1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)))
(+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 2))) (+.f64 1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
(+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 2))) (+.f64 1 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 x 3))) (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)))))
Outputs
(/.f64 -3 (pow.f64 x 2))
(-.f64 6/5 (*.f64 3 (/.f64 1 (pow.f64 x 2))))
(+.f64 6/5 (*.f64 (/.f64 1 (pow.f64 x 2)) -3))
(+.f64 6/5 (*.f64 -3 (/.f64 1 (pow.f64 x 2))))
(-.f64 (+.f64 (*.f64 1/175 (pow.f64 x 2)) 6/5) (*.f64 3 (/.f64 1 (pow.f64 x 2))))
(-.f64 (+.f64 6/5 (*.f64 (pow.f64 x 2) 1/175)) (*.f64 3 (/.f64 1 (pow.f64 x 2))))
(+.f64 (+.f64 6/5 (*.f64 (pow.f64 x 2) 1/175)) (*.f64 (/.f64 1 (pow.f64 x 2)) -3))
(+.f64 6/5 (+.f64 (*.f64 (pow.f64 x 2) 1/175) (*.f64 -3 (/.f64 1 (pow.f64 x 2)))))
(-.f64 (+.f64 (*.f64 1/175 (pow.f64 x 2)) (+.f64 6/5 (*.f64 2/7875 (pow.f64 x 4)))) (*.f64 3 (/.f64 1 (pow.f64 x 2))))
(-.f64 (+.f64 (*.f64 2/7875 (pow.f64 x 4)) (+.f64 6/5 (*.f64 (pow.f64 x 2) 1/175))) (*.f64 3 (/.f64 1 (pow.f64 x 2))))
(+.f64 (+.f64 6/5 (+.f64 (*.f64 (pow.f64 x 2) 1/175) (*.f64 2/7875 (pow.f64 x 4)))) (*.f64 (/.f64 1 (pow.f64 x 2)) -3))
(+.f64 (*.f64 (pow.f64 x 2) 1/175) (+.f64 (+.f64 6/5 (*.f64 2/7875 (pow.f64 x 4))) (*.f64 -3 (/.f64 1 (pow.f64 x 2)))))
1
(+.f64 1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)))
(+.f64 1 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))))
(+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 2))) (+.f64 1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
(+.f64 1 (+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2))))
(+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (+.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2))))
(+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 2))) (+.f64 1 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 x 3))) (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)))))
(+.f64 1 (+.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (*.f64 x (cos.f64 x)) 3))) (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2))))
(+.f64 1 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2)) (+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (*.f64 x (cos.f64 x)) 3)))))
(+.f64 1 (+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2)) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (*.f64 x (cos.f64 x)) 3)))))
1
(+.f64 1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)))
(+.f64 1 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))))
(+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 2))) (+.f64 1 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))))
(+.f64 1 (+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2))))
(+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (+.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2))))
(+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 x 2))) (+.f64 1 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 x 3))) (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)))))
(+.f64 1 (+.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (*.f64 x (cos.f64 x)) 3))) (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2))))
(+.f64 1 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2)) (+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (*.f64 x (cos.f64 x)) 3)))))
(+.f64 1 (+.f64 (/.f64 (sin.f64 x) (*.f64 x (cos.f64 x))) (+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 x (cos.f64 x)) 2)) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (*.f64 x (cos.f64 x)) 3)))))

eval93.0ms (1%)

Compiler

Compiled 5436 to 3510 computations (35.4% saved)

prune33.0ms (0.3%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New2330233
Fresh022
Picked011
Done044
Total2337240
Error
0b
Counts
240 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
28.1b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
29.3b
(/.f64 x (-.f64 x (tan.f64 x)))
34.8b
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
34.2b
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
28.8b
(+.f64 1 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))
29.0b
1
34.7b
-1/2
Compiler

Compiled 57 to 42 computations (26.3% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done055
Total077
Error
0b
Counts
7 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
28.1b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
29.3b
(/.f64 x (-.f64 x (tan.f64 x)))
34.8b
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
34.2b
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
28.8b
(+.f64 1 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))
29.0b
1
34.7b
-1/2
Compiler

Compiled 57 to 42 computations (26.3% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done055
Total077
Error
0b
Counts
7 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
28.1b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
29.3b
(/.f64 x (-.f64 x (tan.f64 x)))
34.8b
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
34.2b
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
28.8b
(+.f64 1 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))
29.0b
1
34.7b
-1/2
Compiler

Compiled 57 to 42 computations (26.3% saved)

regimes19.0ms (0.2%)

Counts
7 → 3
Calls
Call 1
Inputs
-1/2
1
(/.f64 x (-.f64 x (tan.f64 x)))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
(+.f64 1 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))
Outputs
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
(+.f64 1 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))
Calls

2 calls:

14.0ms
x
4.0ms
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Results
ErrorSegmentsBranch
0b3x
0.6b2(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Compiler

Compiled 63 to 40 computations (36.5% saved)

bsearch57.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
0.001232523262194203
312399319081.55225
30.0ms
-0.4761454116162527
-1.1822293215623614e-5
Results
53.0ms288×body256valid
Compiler

Compiled 522 to 399 computations (23.6% saved)

regimes19.0ms (0.2%)

Counts
6 → 3
Calls
Call 1
Inputs
-1/2
1
(/.f64 x (-.f64 x (tan.f64 x)))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
Outputs
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
(-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2)
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Calls

2 calls:

12.0ms
x
5.0ms
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Results
ErrorSegmentsBranch
0.0b3x
0.6b2(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Compiler

Compiled 50 to 33 computations (34% saved)

bsearch50.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
0.001232523262194203
312399319081.55225
21.0ms
-0.4761454116162527
-1.1822293215623614e-5
Results
46.0ms288×body256valid
Compiler

Compiled 482 to 369 computations (23.4% saved)

regimes17.0ms (0.2%)

Counts
5 → 3
Calls
Call 1
Inputs
-1/2
1
(/.f64 x (-.f64 x (tan.f64 x)))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Outputs
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Calls

2 calls:

12.0ms
x
3.0ms
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Results
ErrorSegmentsBranch
0.0b3x
0.6b2(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Compiler

Compiled 37 to 22 computations (40.5% saved)

bsearch50.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
0.001232523262194203
312399319081.55225
22.0ms
-0.4761454116162527
-1.1822293215623614e-5
Results
46.0ms288×body256valid
Compiler

Compiled 374 to 279 computations (25.4% saved)

regimes12.0ms (0.1%)

Counts
4 → 3
Calls
Call 1
Inputs
-1/2
1
(/.f64 x (-.f64 x (tan.f64 x)))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
Outputs
(/.f64 x (-.f64 x (tan.f64 x)))
(-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2)
(/.f64 x (-.f64 x (tan.f64 x)))
Calls

1 calls:

11.0ms
x
Results
ErrorSegmentsBranch
0.4b3x
Compiler

Compiled 18 to 13 computations (27.8% saved)

bsearch52.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
0.001232523262194203
312399319081.55225
25.0ms
-1315137.8985665573
-0.4761454116162527
Results
48.0ms304×body256valid
Compiler

Compiled 337 to 256 computations (24% saved)

regimes11.0ms (0.1%)

Counts
3 → 3
Calls
Call 1
Inputs
-1/2
1
(/.f64 x (-.f64 x (tan.f64 x)))
Outputs
(/.f64 x (-.f64 x (tan.f64 x)))
-1/2
(/.f64 x (-.f64 x (tan.f64 x)))
Calls

1 calls:

10.0ms
x
Results
ErrorSegmentsBranch
0.8b3x
Compiler

Compiled 11 to 7 computations (36.4% saved)

bsearch54.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
0.001232523262194203
312399319081.55225
27.0ms
-1315137.8985665573
-0.4761454116162527
Results
50.0ms304×body256valid
Compiler

Compiled 223 to 161 computations (27.8% saved)

regimes8.0ms (0.1%)

Accuracy

Total -62.2b remaining (-8078.6%)

Threshold costs -62.2b (-8078.6%)

Counts
2 → 3
Calls
Call 1
Inputs
-1/2
1
Outputs
1
-1/2
1
Calls

1 calls:

8.0ms
x
Results
ErrorSegmentsBranch
0.8b3x
Compiler

Compiled 5 to 4 computations (20% saved)

bsearch53.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
0.001232523262194203
312399319081.55225
24.0ms
-1315137.8985665573
-0.4761454116162527
Results
49.0ms304×body256valid
Compiler

Compiled 128 to 123 computations (3.9% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067469
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 x -3458764513820541/144115188075855872) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x))) (if (<=.f64 x 5854679515581645/2251799813685248) (-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2) (+.f64 1 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))))
(if (<=.f64 x -3458764513820541/144115188075855872) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x))) (if (<=.f64 x 7349874591868649/288230376151711744) (-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))))
(if (<=.f64 x -5764607523034235/1152921504606846976) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x))) (if (<=.f64 x 4842270319348757/1152921504606846976) (-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))))
(if (<=.f64 x -2589569785738035/1125899906842624) (/.f64 x (-.f64 x (tan.f64 x))) (if (<=.f64 x 2589569785738035/1125899906842624) (-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2) (/.f64 x (-.f64 x (tan.f64 x)))))
(if (<=.f64 x -3039929748475085/2251799813685248) (/.f64 x (-.f64 x (tan.f64 x))) (if (<=.f64 x 3039929748475085/2251799813685248) -1/2 (/.f64 x (-.f64 x (tan.f64 x)))))
(if (<=.f64 x -6980579422424269/4503599627370496) 1 (if (<=.f64 x 6980579422424269/4503599627370496) -1/2 1))
-1/2
Outputs
(if (<=.f64 x -3458764513820541/144115188075855872) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x))) (if (<=.f64 x 5854679515581645/2251799813685248) (-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2) (+.f64 1 (neg.f64 (/.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 x) (cos.f64 x))) x)))))
(if (<=.f64 x -3458764513820541/144115188075855872) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x))) (if (<=.f64 x 7349874591868649/288230376151711744) (-.f64 (+.f64 (*.f64 9/40 (pow.f64 x 2)) (*.f64 -27/2800 (pow.f64 x 4))) 1/2) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))))
(if (<=.f64 x -5764607523034235/1152921504606846976) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x))) (if (<=.f64 x 4842270319348757/1152921504606846976) (-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2) (/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))))
(if (<=.f64 x -2589569785738035/1125899906842624) (/.f64 x (-.f64 x (tan.f64 x))) (if (<=.f64 x 2589569785738035/1125899906842624) (-.f64 (*.f64 9/40 (pow.f64 x 2)) 1/2) (/.f64 x (-.f64 x (tan.f64 x)))))
(if (<=.f64 x -3039929748475085/2251799813685248) (/.f64 x (-.f64 x (tan.f64 x))) (if (<=.f64 x 3039929748475085/2251799813685248) -1/2 (/.f64 x (-.f64 x (tan.f64 x)))))
(if (<=.f64 x -6980579422424269/4503599627370496) 1 (if (<=.f64 x 6980579422424269/4503599627370496) -1/2 1))
-1/2
Compiler

Compiled 182 to 110 computations (39.6% saved)

soundness89.0ms (0.9%)

Algorithm
egg-herbie
Rules
762×rational_best-simplify-20
762×rational_best-simplify-18
438×rational_best-simplify-124
434×rational_best-simplify-126
416×rational_best-simplify-127
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02552397
111432339
273852339
Stop Event
node limit
Compiler

Compiled 42 to 17 computations (59.5% saved)

end68.0ms (0.7%)

Compiler

Compiled 176 to 89 computations (49.4% saved)

Profiling

Loading profile data...