Details

Time bar (total: 14.0s)

analyze4.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%49.7%50.3%0%0%0%0
0%0%49.7%50.3%0%0%0%1
0%0%49.7%50.3%0%0%0%2
50%24.8%24.8%50.3%0%0%0%3
75%37.3%12.4%50.3%0%0%0%4
87.5%43.5%6.2%50.3%0%0%0%5
93.8%46.6%3.1%50.3%0%0%0%6
96.9%48.1%1.6%50.3%0%0%0%7
98.4%48.9%0.8%50.3%0%0%0%8
99.2%49.3%0.4%50.3%0%0%0%9
99.6%49.5%0.2%50.3%0%0%0%10
99.8%49.6%0.1%50.3%0%0%0%11
99.9%49.6%0%50.3%0%0%0%12
Compiler

Compiled 16 to 12 computations (25% saved)

sample9.4s (67.5%)

Results
7.8s4239×body2048valid
1.1s2006×body1024valid
266.0ms1042×body512valid
154.0ms205×body4096valid
89.0ms764×body256valid
Bogosity

preprocess66.0ms (0.5%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Outputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Outputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

eval0.0ms (0%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 9 to 7 computations (22.2% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 12 computations (40% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite366.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
1526×rational_best-simplify-1
1124×rational_best-2
1124×rational_best-3
1124×rational_best-1
1108×rational_best-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0934
15534
27834
38834
410634
514034
618834
727134
845134
987434
10159434
11206634
12219934
13236034
14247034
15290634
16367134
17487534
18602734
19626534
20641534
21654934
22659334
23678934
24727334
25782934
Stop Event
node limit
Counts
2 → 108
Calls
Call 1
Inputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
(/.f64 1 (tan.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 (tan.f64 x)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -2 x) (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (tan.f64 x)) (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x))) (/.f64 1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))) (/.f64 -3 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))) (/.f64 -4 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))) (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 -1 (tan.f64 x)) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)) (-.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))) (/.f64 3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -1 x) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x)))) (/.f64 4 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))) (/.f64 2 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))) (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -3 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -4 (tan.f64 x)) (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -4 (tan.f64 x)) (-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 2 x)) (/.f64 -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 3 x) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 4 x) (+.f64 (/.f64 -1 x) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 4 x) (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 2 x) (/.f64 4 (tan.f64 x))) (-.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -4 x)) (-.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))) (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 2 x)) (/.f64 4 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x)))) (-.f64 (/.f64 2 x) (/.f64 4 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x))) (-.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))) (/.f64 -4 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x))) (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (tan.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 x) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -2 (tan.f64 x)) (/.f64 3 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (tan.f64 x)) (/.f64 -1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x)) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -2 x) (/.f64 2 (tan.f64 x))) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)) (/.f64 -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))) (/.f64 -3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))) (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))) (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 -2 x) (/.f64 2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -3 (tan.f64 x)) (/.f64 4 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -3 x) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 3 (tan.f64 x)) (/.f64 -2 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 4 (tan.f64 x)) (/.f64 -3 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 4 (tan.f64 x)) (/.f64 2 x)) (-.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 2 x) (/.f64 -4 (tan.f64 x))) (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)) (-.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 4 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -5 (tan.f64 x)) (/.f64 6 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 6 (tan.f64 x)) (/.f64 -5 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x))) (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))) (-.f64 (/.f64 4 (tan.f64 x)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))) (-.f64 (/.f64 2 x) (/.f64 -4 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))) (-.f64 (/.f64 4 x) (/.f64 -2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 x) (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (tan.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -2 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -3 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (tan.f64 x)) (/.f64 1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -3 (tan.f64 x)) (/.f64 -4 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 3 (tan.f64 x)) (/.f64 2 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 4 (tan.f64 x)) (/.f64 3 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (tan.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (tan.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 -1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (tan.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1 (tan.f64 x)))))))

simplify139.0ms (1%)

Algorithm
egg-herbie
Rules
1406×rational_best-simplify-2
1336×rational_best-simplify-1
990×rational_best-simplify-52
962×rational_best-simplify-10
958×rational_best-simplify-43
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02134138
13354138
26854138
318172962
432942938
547642938
669142938
Stop Event
node limit
Counts
132 → 147
Calls
Call 1
Inputs
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/4725 (pow.f64 x 7)))))
(*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x)))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x)))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(/.f64 1 x)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (*.f64 -1/45 (pow.f64 x 3)) (+.f64 (*.f64 -1/3 x) (/.f64 1 x)))
(+.f64 (*.f64 -2/945 (pow.f64 x 5)) (+.f64 (*.f64 -1/45 (pow.f64 x 3)) (+.f64 (*.f64 -1/3 x) (/.f64 1 x))))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 0)
(+.f64 0 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 1 x))
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 -2 x) (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 2 x)))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x)))
(+.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 2 (tan.f64 x)) (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))))
(+.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 2 x))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x))) (/.f64 1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))) (/.f64 -3 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))) (/.f64 -4 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))) (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 -1 (tan.f64 x)) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))))
(+.f64 (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)) (-.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))))
(+.f64 (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))) (/.f64 3 x))
(+.f64 (+.f64 (/.f64 -1 x) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x)))) (/.f64 4 x))
(+.f64 (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))) (/.f64 2 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x))))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))) (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)) (/.f64 -1 x))
(+.f64 (/.f64 -3 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))))
(+.f64 (/.f64 -4 (tan.f64 x)) (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))
(+.f64 (/.f64 -4 (tan.f64 x)) (-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))))
(+.f64 (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 2 x)) (/.f64 -2 x))
(+.f64 (/.f64 3 x) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 4 x) (+.f64 (/.f64 -1 x) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x)))))
(+.f64 (/.f64 4 x) (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 2 x)))
(+.f64 (-.f64 (/.f64 2 x) (/.f64 4 (tan.f64 x))) (-.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x)))))
(+.f64 (-.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -4 x)) (-.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (-.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))) (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 2 x)) (/.f64 4 x))
(+.f64 (-.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x)))) (-.f64 (/.f64 2 x) (/.f64 4 (tan.f64 x))))
(+.f64 (-.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x))) (-.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -4 x)))
(+.f64 (-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))) (/.f64 -4 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x))) (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))))
(*.f64 1 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(*.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) -1)
(*.f64 -1 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))
(/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(/.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) -1)
(pow.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(neg.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (/.f64 1 (tan.f64 x)) 0)
(+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))))
(+.f64 0 (/.f64 1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 1 x))
(+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 (tan.f64 x)))
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -1 x))
(+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 3 (tan.f64 x)))
(+.f64 (/.f64 2 (tan.f64 x)) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x)))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x)) (/.f64 2 x))
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 2 (tan.f64 x))) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)) (/.f64 -2 x))
(+.f64 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))) (/.f64 -3 x))
(+.f64 (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))))
(+.f64 (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))) (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))) (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 -2 x) (/.f64 2 (tan.f64 x))))
(+.f64 (/.f64 -3 (tan.f64 x)) (/.f64 4 (tan.f64 x)))
(+.f64 (/.f64 -3 x) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (/.f64 3 (tan.f64 x)) (/.f64 -2 (tan.f64 x)))
(+.f64 (/.f64 4 (tan.f64 x)) (/.f64 -3 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 4 (tan.f64 x)) (/.f64 2 x)) (-.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))))
(+.f64 (-.f64 (/.f64 2 x) (/.f64 -4 (tan.f64 x))) (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))
(+.f64 (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)) (-.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x))))
(+.f64 (-.f64 (/.f64 4 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (/.f64 -5 (tan.f64 x)) (/.f64 6 (tan.f64 x)))
(+.f64 (/.f64 6 (tan.f64 x)) (/.f64 -5 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x))) (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)))
(+.f64 (-.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))) (-.f64 (/.f64 4 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))) (-.f64 (/.f64 2 x) (/.f64 -4 (tan.f64 x))))
(+.f64 (-.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))) (-.f64 (/.f64 4 x) (/.f64 -2 (tan.f64 x))))
(-.f64 (/.f64 1 x) (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(-.f64 (/.f64 1 (tan.f64 x)) 0)
(-.f64 0 (/.f64 -1 (tan.f64 x)))
(-.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 -1 x))
(-.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -2 (tan.f64 x)))
(-.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 1 x))
(-.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -3 (tan.f64 x)))
(-.f64 (/.f64 2 (tan.f64 x)) (/.f64 1 (tan.f64 x)))
(-.f64 (/.f64 -3 (tan.f64 x)) (/.f64 -4 (tan.f64 x)))
(-.f64 (/.f64 3 (tan.f64 x)) (/.f64 2 (tan.f64 x)))
(-.f64 (/.f64 4 (tan.f64 x)) (/.f64 3 (tan.f64 x)))
(*.f64 1 (/.f64 1 (tan.f64 x)))
(*.f64 (/.f64 1 (tan.f64 x)) 1)
(*.f64 (/.f64 -1 (tan.f64 x)) -1)
(*.f64 -1 (/.f64 -1 (tan.f64 x)))
(pow.f64 (/.f64 1 (tan.f64 x)) 1)
(neg.f64 (/.f64 -1 (tan.f64 x)))
Outputs
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/4725 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/4725 (pow.f64 x 7)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7)))))
(+.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))) (+.f64 (*.f64 1/3 x) (*.f64 1/4725 (pow.f64 x 7))))
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7))))
(*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x)))
(neg.f64 (/.f64 (cos.f64 x) (sin.f64 x)))
(/.f64 (neg.f64 (cos.f64 x)) (sin.f64 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (/.f64 (neg.f64 (cos.f64 x)) (sin.f64 x)) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (/.f64 (neg.f64 (cos.f64 x)) (sin.f64 x)) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (/.f64 (neg.f64 (cos.f64 x)) (sin.f64 x)) (/.f64 1 x))
(*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x)))
(neg.f64 (/.f64 (cos.f64 x) (sin.f64 x)))
(/.f64 (neg.f64 (cos.f64 x)) (sin.f64 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (/.f64 (neg.f64 (cos.f64 x)) (sin.f64 x)) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (/.f64 (neg.f64 (cos.f64 x)) (sin.f64 x)) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (/.f64 (neg.f64 (cos.f64 x)) (sin.f64 x)) (/.f64 1 x))
(/.f64 1 x)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(+.f64 (*.f64 -1/45 (pow.f64 x 3)) (+.f64 (*.f64 -1/3 x) (/.f64 1 x)))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (*.f64 (pow.f64 x 3) -1/45))
(+.f64 (/.f64 1 x) (+.f64 (*.f64 x -1/3) (*.f64 (pow.f64 x 3) -1/45)))
(+.f64 (*.f64 x -1/3) (+.f64 (/.f64 1 x) (*.f64 (pow.f64 x 3) -1/45)))
(+.f64 (*.f64 -2/945 (pow.f64 x 5)) (+.f64 (*.f64 -1/45 (pow.f64 x 3)) (+.f64 (*.f64 -1/3 x) (/.f64 1 x))))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (+.f64 (*.f64 (pow.f64 x 3) -1/45) (*.f64 (pow.f64 x 5) -2/945)))
(+.f64 (*.f64 (pow.f64 x 3) -1/45) (+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (*.f64 (pow.f64 x 5) -2/945)))
(+.f64 (+.f64 (*.f64 x -1/3) (+.f64 (/.f64 1 x) (*.f64 (pow.f64 x 3) -1/45))) (*.f64 (pow.f64 x 5) -2/945))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 0)
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 0 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 1 x))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 -2 x) (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 2 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 2 (tan.f64 x)) (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 2 x))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x))) (/.f64 1 (tan.f64 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))) (/.f64 -3 (tan.f64 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))) (/.f64 -4 (tan.f64 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))) (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 -1 (tan.f64 x)) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)) (-.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))) (/.f64 3 x))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 -1 x) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x)))) (/.f64 4 x))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))) (/.f64 2 (tan.f64 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x))))
(+.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 -2 x) (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))))
(+.f64 (+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -2 x)) (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x))))
(+.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 -2 x) (+.f64 (/.f64 4 x) (-.f64 (/.f64 -1 x) (/.f64 -1 (tan.f64 x))))))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))) (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)) (/.f64 -1 x))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 -3 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 -4 (tan.f64 x)) (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 -4 (tan.f64 x)) (-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 2 x)) (/.f64 -2 x))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 3 x) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 4 x) (+.f64 (/.f64 -1 x) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x)))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 4 x) (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 2 x) (/.f64 4 (tan.f64 x))) (-.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x)))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -4 x)) (-.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (-.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))) (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 2 x)) (/.f64 4 x))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -2 (tan.f64 x)))) (-.f64 (/.f64 2 x) (/.f64 4 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x))) (-.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -4 x)))
(+.f64 (-.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -4 x)) (-.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -2 (tan.f64 x))) (/.f64 -4 (tan.f64 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x))) (+.f64 (/.f64 -2 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 -2 x) (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))))
(+.f64 (+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -2 x)) (-.f64 (/.f64 2 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x))))
(+.f64 (/.f64 -2 (tan.f64 x)) (+.f64 (/.f64 -2 x) (+.f64 (/.f64 4 x) (-.f64 (/.f64 -1 x) (/.f64 -1 (tan.f64 x))))))
(*.f64 1 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) -1)
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 -1 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) -1)
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(pow.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(neg.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 1 (tan.f64 x)) 0)
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 0 (/.f64 1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 1 x))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 -1 x))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 -2 (tan.f64 x)) (/.f64 3 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 2 (tan.f64 x)) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x)) (/.f64 2 x))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 2 (tan.f64 x))) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x))) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))) (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)) (/.f64 -2 x))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))) (/.f64 -3 x))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 1 x) (/.f64 -3 x)))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (+.f64 (/.f64 2 x) (/.f64 -3 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 2 x) (+.f64 (/.f64 1 x) (/.f64 -3 x))))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 3 x)) (/.f64 -3 x))
(+.f64 (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)) (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (-.f64 (/.f64 -2 x) (/.f64 1 (tan.f64 x))) (+.f64 (/.f64 2 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x))) (+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 -2 x) (/.f64 2 (tan.f64 x))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 -3 (tan.f64 x)) (/.f64 4 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 -3 x) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x)) (+.f64 (/.f64 1 x) (/.f64 -3 x)))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (+.f64 (/.f64 2 x) (/.f64 -3 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 2 x) (+.f64 (/.f64 1 x) (/.f64 -3 x))))
(+.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 3 x)) (/.f64 -3 x))
(+.f64 (/.f64 3 (tan.f64 x)) (/.f64 -2 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 4 (tan.f64 x)) (/.f64 -3 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (-.f64 (/.f64 4 (tan.f64 x)) (/.f64 2 x)) (-.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (-.f64 (/.f64 2 x) (/.f64 -4 (tan.f64 x))) (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))
(+.f64 (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)) (-.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x))))
(+.f64 (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)) (+.f64 (/.f64 -1 (tan.f64 x)) (-.f64 (/.f64 2 x) (/.f64 -2 x))))
(+.f64 (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 4 x)))
(+.f64 (-.f64 (/.f64 4 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (-.f64 (/.f64 4 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 -2 x) (-.f64 (/.f64 2 x) (/.f64 -1 (tan.f64 x)))))
(+.f64 (/.f64 -5 (tan.f64 x)) (/.f64 6 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 6 (tan.f64 x)) (/.f64 -5 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (-.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x))) (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)))
(+.f64 (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)) (-.f64 (/.f64 2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -2 x))))
(+.f64 (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)) (+.f64 (/.f64 -1 (tan.f64 x)) (-.f64 (/.f64 2 x) (/.f64 -2 x))))
(+.f64 (-.f64 (/.f64 2 (tan.f64 x)) (/.f64 4 x)) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 4 x)))
(+.f64 (-.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (-.f64 (/.f64 -1 x) (/.f64 -2 (tan.f64 x)))) (-.f64 (/.f64 4 (tan.f64 x)) (/.f64 2 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))) (-.f64 (/.f64 2 x) (/.f64 -4 (tan.f64 x))))
(+.f64 (-.f64 (/.f64 2 x) (/.f64 -4 (tan.f64 x))) (-.f64 (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (/.f64 2 (tan.f64 x)))))
(+.f64 (-.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))) (-.f64 (/.f64 4 x) (/.f64 -2 (tan.f64 x))))
(+.f64 (-.f64 (/.f64 4 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 -2 x) (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 2 x))))
(+.f64 (-.f64 (/.f64 4 x) (/.f64 -2 (tan.f64 x))) (-.f64 (/.f64 -2 x) (-.f64 (/.f64 2 x) (/.f64 -1 (tan.f64 x)))))
(-.f64 (/.f64 1 x) (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (/.f64 1 (tan.f64 x)) 0)
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 0 (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (+.f64 (/.f64 1 (tan.f64 x)) (/.f64 -1 x)) (/.f64 -1 x))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -2 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (/.f64 -1 x) (+.f64 (/.f64 -1 (tan.f64 x)) (/.f64 -1 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) (/.f64 1 x))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (/.f64 -2 (tan.f64 x)) (/.f64 -3 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (/.f64 2 (tan.f64 x)) (/.f64 1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (/.f64 -3 (tan.f64 x)) (/.f64 -4 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (/.f64 3 (tan.f64 x)) (/.f64 2 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(-.f64 (/.f64 4 (tan.f64 x)) (/.f64 3 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(*.f64 1 (/.f64 1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(*.f64 (/.f64 1 (tan.f64 x)) 1)
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(*.f64 (/.f64 -1 (tan.f64 x)) -1)
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(*.f64 -1 (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(pow.f64 (/.f64 1 (tan.f64 x)) 1)
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))
(neg.f64 (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) (+.f64 (/.f64 1 x) (/.f64 -1 x)))
(/.f64 1 (tan.f64 x))

eval38.0ms (0.3%)

Compiler

Compiled 2378 to 1600 computations (32.7% saved)

prune22.0ms (0.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1425147
Fresh000
Picked011
Done000
Total1426148
Error
0.3b
Counts
148 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
59.9b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
60.0b
(-.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
0.3b
(+.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))) (+.f64 (*.f64 1/3 x) (*.f64 1/4725 (pow.f64 x 7))))
0.3b
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.4b
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
0.7b
(*.f64 1/3 x)
Compiler

Compiled 137 to 109 computations (20.4% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/4725 (pow.f64 x 7))
0.1b
(*.f64 2/945 (pow.f64 x 5))
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(*.f64 1/3 x)
Compiler

Compiled 77 to 61 computations (20.8% saved)

series5.0ms (0%)

Counts
4 → 0
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 1/3 x)
1.0ms
x
@0
(*.f64 1/4725 (pow.f64 x 7))
0.0ms
x
@0
(*.f64 2/945 (pow.f64 x 5))
0.0ms
x
@0
(*.f64 1/45 (pow.f64 x 3))
0.0ms
x
@inf
(*.f64 1/4725 (pow.f64 x 7))

rewrite13.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
28×rational_best-simplify-2
20×rational_best-4
20×rational_best-2
20×rational_best-3
20×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01746
110846
214146
314546
Stop Event
saturated
Counts
4 → 20
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 1/45 (pow.f64 x 3))
(*.f64 2/945 (pow.f64 x 5))
(*.f64 1/4725 (pow.f64 x 7))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/3 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/3 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/3 x) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/45 (pow.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/45 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/45 (pow.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/45 (pow.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/45 (pow.f64 x 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/945 (pow.f64 x 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2/945 (pow.f64 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2/945 (pow.f64 x 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/945 (pow.f64 x 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2/945 (pow.f64 x 5)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/4725 (pow.f64 x 7)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)))))

simplify55.0ms (0.4%)

Algorithm
egg-herbie
Rules
16×rational_best-simplify-2
16×rational_best-simplify-7
rational_best-simplify-4
rational_best-simplify-49
exponential-simplify-11
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039230
147230
258230
362230
Stop Event
saturated
Counts
20 → 24
Calls
Call 1
Inputs
(+.f64 (*.f64 1/3 x) 0)
(+.f64 0 (*.f64 1/3 x))
(-.f64 (*.f64 1/3 x) 0)
(/.f64 (*.f64 1/3 x) 1)
(pow.f64 (*.f64 1/3 x) 1)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) 0)
(+.f64 0 (*.f64 1/45 (pow.f64 x 3)))
(-.f64 (*.f64 1/45 (pow.f64 x 3)) 0)
(/.f64 (*.f64 1/45 (pow.f64 x 3)) 1)
(pow.f64 (*.f64 1/45 (pow.f64 x 3)) 1)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) 0)
(+.f64 0 (*.f64 2/945 (pow.f64 x 5)))
(-.f64 (*.f64 2/945 (pow.f64 x 5)) 0)
(/.f64 (*.f64 2/945 (pow.f64 x 5)) 1)
(pow.f64 (*.f64 2/945 (pow.f64 x 5)) 1)
(+.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)
(+.f64 0 (*.f64 1/4725 (pow.f64 x 7)))
(-.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)
(/.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)
(pow.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)
Outputs
(+.f64 (*.f64 1/3 x) 0)
(*.f64 1/3 x)
(+.f64 0 (*.f64 1/3 x))
(*.f64 1/3 x)
(-.f64 (*.f64 1/3 x) 0)
(*.f64 1/3 x)
(/.f64 (*.f64 1/3 x) 1)
(*.f64 1/3 x)
(pow.f64 (*.f64 1/3 x) 1)
(*.f64 1/3 x)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) 0)
(*.f64 1/45 (pow.f64 x 3))
(+.f64 0 (*.f64 1/45 (pow.f64 x 3)))
(*.f64 1/45 (pow.f64 x 3))
(-.f64 (*.f64 1/45 (pow.f64 x 3)) 0)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 1/45 (pow.f64 x 3)) 1)
(*.f64 1/45 (pow.f64 x 3))
(pow.f64 (*.f64 1/45 (pow.f64 x 3)) 1)
(*.f64 1/45 (pow.f64 x 3))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) 0)
(*.f64 2/945 (pow.f64 x 5))
(+.f64 0 (*.f64 2/945 (pow.f64 x 5)))
(*.f64 2/945 (pow.f64 x 5))
(-.f64 (*.f64 2/945 (pow.f64 x 5)) 0)
(*.f64 2/945 (pow.f64 x 5))
(/.f64 (*.f64 2/945 (pow.f64 x 5)) 1)
(*.f64 2/945 (pow.f64 x 5))
(pow.f64 (*.f64 2/945 (pow.f64 x 5)) 1)
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)
(*.f64 1/4725 (pow.f64 x 7))
(+.f64 0 (*.f64 1/4725 (pow.f64 x 7)))
(*.f64 1/4725 (pow.f64 x 7))
(-.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)
(*.f64 1/4725 (pow.f64 x 7))
(pow.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)
(*.f64 1/4725 (pow.f64 x 7))

localize3.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 1/3 x)
Compiler

Compiled 6 to 4 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
0.3b
(*.f64 x -1/3)
2.2b
(-.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
Compiler

Compiled 28 to 20 computations (28.6% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite500.0ms (3.6%)

Algorithm
batch-egg-rewrite
Rules
1470×rational_best-simplify-1
1384×rational_best-simplify-2
1176×rational_best-simplify-53
950×rational_best-2
950×rational_best-3
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0957
15757
27857
39353
413949
520933
634933
775833
8149033
9209933
10244733
11318033
12411433
13590233
14652033
15671833
16674633
17674633
18695433
19708033
20720033
21723633
22724833
Stop Event
node limit
Counts
3 → 119
Calls
Call 1
Inputs
(-.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(*.f64 x -1/3)
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 x -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -1/3) (*.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (+.f64 (/.f64 -1 x) (*.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -2/3) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 x) (+.f64 (/.f64 1 x) (*.f64 x 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 2/3) (*.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -2 x) (-.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (+.f64 (*.f64 x -1/3) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (-.f64 (+.f64 (/.f64 -1 x) (*.f64 x 2/3)) (+.f64 (/.f64 1 x) (*.f64 x -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 1/3) (/.f64 -2 x)) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (*.f64 x 2/3)) (+.f64 (*.f64 x -1/3) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 -1 x) (*.f64 x 2/3)) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (*.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -2/3) (/.f64 4 x)) (-.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (+.f64 (*.f64 x -1/3) (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x 4/3) (/.f64 4 x)) (+.f64 (*.f64 x 1/3) (-.f64 (/.f64 4 x) (*.f64 x 4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 2/3) (/.f64 -4 x)) (-.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x 4/3) (/.f64 2 x)) (+.f64 (*.f64 x -2) (-.f64 (/.f64 2 x) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) (/.f64 4 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 1/3) (-.f64 (/.f64 4 x) (*.f64 x 4/3))) (-.f64 (*.f64 x 4/3) (/.f64 4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -2) (-.f64 (/.f64 2 x) (neg.f64 x))) (-.f64 (*.f64 x 4/3) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (/.f64 -1 x) (*.f64 x 2/3)) (+.f64 (/.f64 1 x) (*.f64 x -1/3))) (+.f64 (*.f64 x -2/3) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (/.f64 -1 x)) (/.f64 -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (+.f64 (*.f64 x -1/3) (/.f64 2 x))) (+.f64 (*.f64 x -2/3) (/.f64 4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))) (+.f64 (*.f64 x 2/3) (/.f64 -4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (+.f64 (+.f64 x x) (*.f64 x -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (+.f64 (+.f64 x x) (-.f64 (*.f64 x -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (+.f64 (*.f64 x -3) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (+.f64 (-.f64 (*.f64 x -2) x) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -1/3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (+.f64 (*.f64 x -2) (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (+.f64 (*.f64 x -2) (-.f64 (+.f64 x x) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (+.f64 (-.f64 (+.f64 x x) (neg.f64 x)) (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 x 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -3 (*.f64 x -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -3) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (+.f64 x x) (neg.f64 x)) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x -2) x) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -1/3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x -1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 x) (+.f64 (*.f64 x -1/3) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -2/3) (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/3) (*.f64 x -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (*.f64 x -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 x) (*.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 2/3) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -2 x) (+.f64 (*.f64 x -1/3) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (-.f64 (+.f64 (/.f64 1 x) (*.f64 x -2/3)) (+.f64 (*.f64 x 1/3) (/.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (/.f64 -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 x) (-.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 1/3) (/.f64 -2 x)) (+.f64 (*.f64 x -2/3) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (*.f64 x -2/3)) (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (+.f64 (*.f64 x -2/3) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -2/3) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (*.f64 x 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -4 x) (+.f64 (*.f64 x -1/3) (/.f64 4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -2/3) (/.f64 4 x)) (-.f64 (/.f64 -2 x) (+.f64 (*.f64 x -1/3) (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 4 x) (*.f64 x 4/3)) (+.f64 (*.f64 x -1/3) (-.f64 (*.f64 x 4/3) (/.f64 4 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 2/3) (/.f64 -4 x)) (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -4/3) (/.f64 -2 x)) (+.f64 (+.f64 x x) (-.f64 (/.f64 -2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -1/3) (-.f64 (*.f64 x 4/3) (/.f64 4 x))) (-.f64 (/.f64 4 x) (*.f64 x 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 x x) (-.f64 (/.f64 -2 x) x)) (-.f64 (*.f64 x -4/3) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -1/3) (/.f64 4 x)) (/.f64 -4 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (/.f64 1 x)) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (/.f64 1 x) (*.f64 x -2/3)) (+.f64 (*.f64 x 1/3) (/.f64 -1 x))) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 -2 x) (+.f64 (*.f64 x -1/3) (/.f64 2 x))) (+.f64 (*.f64 x -2/3) (/.f64 4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))) (+.f64 (*.f64 x 2/3) (/.f64 -4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (+.f64 (/.f64 -1 x) (*.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1 x) (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x 1/3) (/.f64 -2 x)) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 x) (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -1/3) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1/3) (+.f64 (/.f64 -1 x) (*.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 1 x) (*.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))))))

simplify272.0ms (1.9%)

Algorithm
egg-herbie
Rules
2060×rational_best-simplify-1
1280×rational_best-simplify-54
1092×rational_best-simplify-52
940×rational_best-simplify-2
880×rational_best-simplify-42
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
02041693
13231693
25911685
312631669
418211669
526621661
642821637
755161625
857731609
959431609
1060041601
1169431601
Stop Event
node limit
Counts
155 → 139
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(*.f64 -1/3 x)
(/.f64 1 x)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(*.f64 -1/3 x)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(*.f64 -1/3 x)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 x (*.f64 x -2/3))
(+.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(+.f64 (*.f64 x -1/3) (*.f64 x 2/3))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (+.f64 (/.f64 -1 x) (*.f64 x 2/3)))
(+.f64 0 (*.f64 x 1/3))
(+.f64 (*.f64 x -2/3) x)
(+.f64 (*.f64 x 1/3) 0)
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (/.f64 1 x))
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 1 x) (*.f64 x 1/3)))
(+.f64 (*.f64 x 2/3) (*.f64 x -1/3))
(+.f64 (/.f64 -2 x) (-.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (/.f64 -1 x)))
(+.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (+.f64 (*.f64 x -1/3) (/.f64 2 x)))
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (-.f64 (+.f64 (/.f64 -1 x) (*.f64 x 2/3)) (+.f64 (/.f64 1 x) (*.f64 x -1/3))))
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -2 x)) (/.f64 2 x))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x 2/3)) (+.f64 (*.f64 x -1/3) (/.f64 -1 x)))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (/.f64 -1 x))
(+.f64 (+.f64 (/.f64 -1 x) (*.f64 x 2/3)) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (*.f64 x 2/3)))
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 4 x)) (-.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (+.f64 (*.f64 x -1/3) (/.f64 2 x))))
(+.f64 (-.f64 (*.f64 x 4/3) (/.f64 4 x)) (+.f64 (*.f64 x 1/3) (-.f64 (/.f64 4 x) (*.f64 x 4/3))))
(+.f64 (+.f64 (*.f64 x 2/3) (/.f64 -4 x)) (-.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))))
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
(+.f64 (-.f64 (*.f64 x 4/3) (/.f64 2 x)) (+.f64 (*.f64 x -2) (-.f64 (/.f64 2 x) (neg.f64 x))))
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) (/.f64 4 x))
(+.f64 (+.f64 (*.f64 x 1/3) (-.f64 (/.f64 4 x) (*.f64 x 4/3))) (-.f64 (*.f64 x 4/3) (/.f64 4 x)))
(+.f64 (+.f64 (*.f64 x -2) (-.f64 (/.f64 2 x) (neg.f64 x))) (-.f64 (*.f64 x 4/3) (/.f64 2 x)))
(+.f64 (-.f64 (+.f64 (/.f64 -1 x) (*.f64 x 2/3)) (+.f64 (/.f64 1 x) (*.f64 x -1/3))) (+.f64 (*.f64 x -2/3) (/.f64 2 x)))
(+.f64 (-.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (/.f64 -1 x)) (/.f64 -2 x))
(+.f64 (-.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (+.f64 (*.f64 x -1/3) (/.f64 2 x))) (+.f64 (*.f64 x -2/3) (/.f64 4 x)))
(+.f64 (-.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))) (+.f64 (*.f64 x 2/3) (/.f64 -4 x)))
(*.f64 1 (*.f64 x 1/3))
(*.f64 x 1/3)
(*.f64 -1/3 (neg.f64 x))
(*.f64 -1/3 (+.f64 (+.f64 x x) (*.f64 x -3)))
(*.f64 -1/3 (+.f64 (+.f64 x x) (-.f64 (*.f64 x -2) x)))
(*.f64 -1/3 (+.f64 (*.f64 x -3) (+.f64 x x)))
(*.f64 -1/3 (+.f64 (-.f64 (*.f64 x -2) x) (+.f64 x x)))
(*.f64 (*.f64 x -1/3) -1)
(*.f64 (*.f64 x 1/3) 1)
(*.f64 -1 (*.f64 x -1/3))
(*.f64 (neg.f64 x) -1/3)
(*.f64 1/3 x)
(*.f64 1/3 (+.f64 (*.f64 x -2) (*.f64 x 3)))
(*.f64 1/3 (+.f64 (*.f64 x -2) (-.f64 (+.f64 x x) (neg.f64 x))))
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
(*.f64 1/3 (+.f64 (-.f64 (+.f64 x x) (neg.f64 x)) (*.f64 x -2)))
(*.f64 3 (*.f64 x 1/9))
(*.f64 -3 (*.f64 x -1/9))
(*.f64 (*.f64 x 3) 1/9)
(*.f64 (*.f64 x -3) -1/9)
(*.f64 (-.f64 (+.f64 x x) (neg.f64 x)) 1/9)
(*.f64 (-.f64 (*.f64 x -2) x) -1/9)
(/.f64 (*.f64 x -1/3) -1)
(/.f64 (*.f64 x 1/3) 1)
(pow.f64 (*.f64 x 1/3) 1)
(neg.f64 (*.f64 x -1/3))
(+.f64 (/.f64 1 x) (+.f64 (*.f64 x -1/3) (/.f64 -1 x)))
(+.f64 (*.f64 x -1/3) 0)
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (/.f64 -1 x))
(+.f64 0 (*.f64 x -1/3))
(+.f64 (*.f64 x -2/3) (*.f64 x 1/3))
(+.f64 (*.f64 x 1/3) (*.f64 x -2/3))
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (*.f64 x -2/3)))
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(+.f64 (neg.f64 x) (*.f64 x 2/3))
(+.f64 (*.f64 x 2/3) (neg.f64 x))
(+.f64 (/.f64 -2 x) (+.f64 (*.f64 x -1/3) (/.f64 2 x)))
(+.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (-.f64 (+.f64 (/.f64 1 x) (*.f64 x -2/3)) (+.f64 (*.f64 x 1/3) (/.f64 -1 x))))
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (/.f64 -2 x))
(+.f64 (/.f64 2 x) (-.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (/.f64 1 x)))
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -2 x)) (+.f64 (*.f64 x -2/3) (/.f64 2 x)))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -2/3)) (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (+.f64 (*.f64 x -2/3) (/.f64 -1 x)))
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (/.f64 1 x))
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (*.f64 x 1/3)))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x -1/3) (/.f64 4 x)))
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 4 x)) (-.f64 (/.f64 -2 x) (+.f64 (*.f64 x -1/3) (/.f64 2 x))))
(+.f64 (-.f64 (/.f64 4 x) (*.f64 x 4/3)) (+.f64 (*.f64 x -1/3) (-.f64 (*.f64 x 4/3) (/.f64 4 x))))
(+.f64 (+.f64 (*.f64 x 2/3) (/.f64 -4 x)) (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))))
(+.f64 (-.f64 (*.f64 x -4/3) (/.f64 -2 x)) (+.f64 (+.f64 x x) (-.f64 (/.f64 -2 x) x)))
(+.f64 (+.f64 (*.f64 x -1/3) (-.f64 (*.f64 x 4/3) (/.f64 4 x))) (-.f64 (/.f64 4 x) (*.f64 x 4/3)))
(+.f64 (+.f64 (+.f64 x x) (-.f64 (/.f64 -2 x) x)) (-.f64 (*.f64 x -4/3) (/.f64 -2 x)))
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 4 x)) (/.f64 -4 x))
(+.f64 (-.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (/.f64 1 x)) (/.f64 2 x))
(+.f64 (-.f64 (+.f64 (/.f64 1 x) (*.f64 x -2/3)) (+.f64 (*.f64 x 1/3) (/.f64 -1 x))) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))
(+.f64 (-.f64 (/.f64 -2 x) (+.f64 (*.f64 x -1/3) (/.f64 2 x))) (+.f64 (*.f64 x -2/3) (/.f64 4 x)))
(+.f64 (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))) (+.f64 (*.f64 x 2/3) (/.f64 -4 x)))
(-.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x 1/3)))
(-.f64 (*.f64 x -1/3) 0)
(-.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (/.f64 1 x))
(-.f64 0 (*.f64 x 1/3))
(-.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (+.f64 (/.f64 -1 x) (*.f64 x 2/3)))
(-.f64 (/.f64 -1 x) (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(-.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (/.f64 2 x))
(-.f64 (+.f64 (*.f64 x 1/3) (/.f64 -2 x)) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))
(/.f64 (*.f64 x -1/3) 1)
(/.f64 (*.f64 x 1/3) -1)
(pow.f64 (*.f64 x -1/3) 1)
(neg.f64 (*.f64 x 1/3))
(-.f64 (/.f64 1 x) (*.f64 x 1/3))
(-.f64 (*.f64 x -1/3) (/.f64 -1 x))
(-.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 0)
(-.f64 0 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(-.f64 (*.f64 x 1/3) (+.f64 (/.f64 -1 x) (*.f64 x 2/3)))
(-.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))
(-.f64 (/.f64 -1 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(-.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (/.f64 1 x))
(-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(*.f64 1 (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(*.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 1)
(*.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) -1)
(*.f64 -1 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(/.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 1)
(/.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) -1)
(pow.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 1)
(neg.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
Outputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(*.f64 -1/3 x)
(*.f64 x -1/3)
(/.f64 1 x)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(*.f64 -1/3 x)
(*.f64 x -1/3)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(*.f64 -1/3 x)
(*.f64 x -1/3)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(+.f64 x (*.f64 x -2/3))
(*.f64 1/3 x)
(+.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(*.f64 1/3 x)
(+.f64 (*.f64 x -1/3) (*.f64 x 2/3))
(*.f64 1/3 x)
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (+.f64 (/.f64 -1 x) (*.f64 x 2/3)))
(*.f64 1/3 x)
(+.f64 0 (*.f64 x 1/3))
(*.f64 1/3 x)
(+.f64 (*.f64 x -2/3) x)
(*.f64 1/3 x)
(+.f64 (*.f64 x 1/3) 0)
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (/.f64 1 x))
(*.f64 1/3 x)
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 1 x) (*.f64 x 1/3)))
(*.f64 1/3 x)
(+.f64 (*.f64 x 2/3) (*.f64 x -1/3))
(*.f64 1/3 x)
(+.f64 (/.f64 -2 x) (-.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (/.f64 -1 x)))
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (+.f64 (*.f64 x -1/3) (/.f64 2 x)))
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))
(*.f64 1/3 x)
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (-.f64 (+.f64 (/.f64 -1 x) (*.f64 x 2/3)) (+.f64 (/.f64 1 x) (*.f64 x -1/3))))
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -2 x)) (/.f64 2 x))
(*.f64 1/3 x)
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x 2/3)) (+.f64 (*.f64 x -1/3) (/.f64 -1 x)))
(*.f64 1/3 x)
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (/.f64 -1 x))
(*.f64 1/3 x)
(+.f64 (+.f64 (/.f64 -1 x) (*.f64 x 2/3)) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (*.f64 x 2/3)))
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 4 x)) (-.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (+.f64 (*.f64 x -1/3) (/.f64 2 x))))
(*.f64 1/3 x)
(+.f64 (-.f64 (*.f64 x 4/3) (/.f64 4 x)) (+.f64 (*.f64 x 1/3) (-.f64 (/.f64 4 x) (*.f64 x 4/3))))
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x 2/3) (/.f64 -4 x)) (-.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))))
(*.f64 1/3 x)
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
(*.f64 1/3 x)
(+.f64 (-.f64 (*.f64 x 4/3) (/.f64 2 x)) (+.f64 (*.f64 x -2) (-.f64 (/.f64 2 x) (neg.f64 x))))
(+.f64 (-.f64 (*.f64 x 4/3) (/.f64 2 x)) (+.f64 (*.f64 x -2) (+.f64 x (/.f64 2 x))))
(+.f64 (-.f64 (*.f64 x 4/3) (/.f64 2 x)) (+.f64 (/.f64 2 x) (neg.f64 x)))
(+.f64 (+.f64 (*.f64 x 4/3) (/.f64 -2 x)) (+.f64 (/.f64 2 x) (neg.f64 x)))
(+.f64 (+.f64 (*.f64 x 4/3) (/.f64 -2 x)) (-.f64 (/.f64 2 x) x))
(+.f64 (+.f64 (/.f64 -2 x) (*.f64 x 4/3)) (-.f64 (/.f64 2 x) x))
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) (/.f64 4 x))
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x 1/3) (-.f64 (/.f64 4 x) (*.f64 x 4/3))) (-.f64 (*.f64 x 4/3) (/.f64 4 x)))
(*.f64 1/3 x)
(+.f64 (+.f64 (*.f64 x -2) (-.f64 (/.f64 2 x) (neg.f64 x))) (-.f64 (*.f64 x 4/3) (/.f64 2 x)))
(+.f64 (-.f64 (*.f64 x 4/3) (/.f64 2 x)) (+.f64 (*.f64 x -2) (-.f64 (/.f64 2 x) (neg.f64 x))))
(+.f64 (-.f64 (*.f64 x 4/3) (/.f64 2 x)) (+.f64 (*.f64 x -2) (+.f64 x (/.f64 2 x))))
(+.f64 (-.f64 (*.f64 x 4/3) (/.f64 2 x)) (+.f64 (/.f64 2 x) (neg.f64 x)))
(+.f64 (+.f64 (*.f64 x 4/3) (/.f64 -2 x)) (+.f64 (/.f64 2 x) (neg.f64 x)))
(+.f64 (+.f64 (*.f64 x 4/3) (/.f64 -2 x)) (-.f64 (/.f64 2 x) x))
(+.f64 (+.f64 (/.f64 -2 x) (*.f64 x 4/3)) (-.f64 (/.f64 2 x) x))
(+.f64 (-.f64 (+.f64 (/.f64 -1 x) (*.f64 x 2/3)) (+.f64 (/.f64 1 x) (*.f64 x -1/3))) (+.f64 (*.f64 x -2/3) (/.f64 2 x)))
(*.f64 1/3 x)
(+.f64 (-.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (/.f64 -1 x)) (/.f64 -2 x))
(*.f64 1/3 x)
(+.f64 (-.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (+.f64 (*.f64 x -1/3) (/.f64 2 x))) (+.f64 (*.f64 x -2/3) (/.f64 4 x)))
(*.f64 1/3 x)
(+.f64 (-.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))) (+.f64 (*.f64 x 2/3) (/.f64 -4 x)))
(*.f64 1/3 x)
(*.f64 1 (*.f64 x 1/3))
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 -1/3 (neg.f64 x))
(*.f64 1/3 x)
(*.f64 -1/3 (+.f64 (+.f64 x x) (*.f64 x -3)))
(*.f64 1/3 x)
(*.f64 -1/3 (+.f64 (+.f64 x x) (-.f64 (*.f64 x -2) x)))
(*.f64 1/3 x)
(*.f64 -1/3 (+.f64 (*.f64 x -3) (+.f64 x x)))
(*.f64 1/3 x)
(*.f64 -1/3 (+.f64 (-.f64 (*.f64 x -2) x) (+.f64 x x)))
(*.f64 1/3 x)
(*.f64 (*.f64 x -1/3) -1)
(*.f64 1/3 x)
(*.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(*.f64 -1 (*.f64 x -1/3))
(*.f64 1/3 x)
(*.f64 (neg.f64 x) -1/3)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 (+.f64 (*.f64 x -2) (*.f64 x 3)))
(*.f64 1/3 x)
(*.f64 1/3 (+.f64 (*.f64 x -2) (-.f64 (+.f64 x x) (neg.f64 x))))
(*.f64 1/3 x)
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
(*.f64 1/3 x)
(*.f64 1/3 (+.f64 (-.f64 (+.f64 x x) (neg.f64 x)) (*.f64 x -2)))
(*.f64 1/3 x)
(*.f64 3 (*.f64 x 1/9))
(*.f64 1/3 x)
(*.f64 -3 (*.f64 x -1/9))
(*.f64 1/3 x)
(*.f64 (*.f64 x 3) 1/9)
(*.f64 1/3 x)
(*.f64 (*.f64 x -3) -1/9)
(*.f64 1/3 x)
(*.f64 (-.f64 (+.f64 x x) (neg.f64 x)) 1/9)
(*.f64 1/3 x)
(*.f64 (-.f64 (*.f64 x -2) x) -1/9)
(*.f64 1/3 x)
(/.f64 (*.f64 x -1/3) -1)
(*.f64 1/3 x)
(/.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(pow.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(neg.f64 (*.f64 x -1/3))
(*.f64 1/3 x)
(+.f64 (/.f64 1 x) (+.f64 (*.f64 x -1/3) (/.f64 -1 x)))
(*.f64 x -1/3)
(+.f64 (*.f64 x -1/3) 0)
(*.f64 x -1/3)
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (/.f64 -1 x))
(*.f64 x -1/3)
(+.f64 0 (*.f64 x -1/3))
(*.f64 x -1/3)
(+.f64 (*.f64 x -2/3) (*.f64 x 1/3))
(*.f64 x -1/3)
(+.f64 (*.f64 x 1/3) (*.f64 x -2/3))
(*.f64 x -1/3)
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (*.f64 x -2/3)))
(*.f64 x -1/3)
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(*.f64 x -1/3)
(+.f64 (neg.f64 x) (*.f64 x 2/3))
(*.f64 x -1/3)
(+.f64 (*.f64 x 2/3) (neg.f64 x))
(*.f64 x -1/3)
(+.f64 (/.f64 -2 x) (+.f64 (*.f64 x -1/3) (/.f64 2 x)))
(*.f64 x -1/3)
(+.f64 (+.f64 (*.f64 x 2/3) (/.f64 -2 x)) (-.f64 (+.f64 (/.f64 1 x) (*.f64 x -2/3)) (+.f64 (*.f64 x 1/3) (/.f64 -1 x))))
(*.f64 x -1/3)
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (/.f64 -2 x))
(*.f64 x -1/3)
(+.f64 (/.f64 2 x) (-.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (/.f64 1 x)))
(*.f64 x -1/3)
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(*.f64 x -1/3)
(+.f64 (+.f64 (*.f64 x 1/3) (/.f64 -2 x)) (+.f64 (*.f64 x -2/3) (/.f64 2 x)))
(*.f64 x -1/3)
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -2/3)) (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(*.f64 x -1/3)
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x 1/3)) (+.f64 (*.f64 x -2/3) (/.f64 -1 x)))
(*.f64 x -1/3)
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (/.f64 1 x))
(*.f64 x -1/3)
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 -1 x)) (+.f64 (/.f64 1 x) (*.f64 x 1/3)))
(*.f64 x -1/3)
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x -1/3) (/.f64 4 x)))
(*.f64 x -1/3)
(+.f64 (+.f64 (*.f64 x -2/3) (/.f64 4 x)) (-.f64 (/.f64 -2 x) (+.f64 (*.f64 x -1/3) (/.f64 2 x))))
(*.f64 x -1/3)
(+.f64 (-.f64 (/.f64 4 x) (*.f64 x 4/3)) (+.f64 (*.f64 x -1/3) (-.f64 (*.f64 x 4/3) (/.f64 4 x))))
(*.f64 x -1/3)
(+.f64 (+.f64 (*.f64 x 2/3) (/.f64 -4 x)) (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 1/3 x) (/.f64 -2 x)))))
(+.f64 (*.f64 x 2/3) (+.f64 (/.f64 -4 x) (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 1/3 x) (/.f64 -2 x)))))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (+.f64 (*.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) 2) (*.f64 1/3 x))))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (neg.f64 (+.f64 (/.f64 -2 x) (+.f64 x (/.f64 -2 x))))))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (+.f64 (-.f64 (/.f64 2 x) x) (/.f64 2 x))))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (+.f64 (/.f64 2 x) (-.f64 (/.f64 2 x) x))))
(+.f64 (-.f64 (*.f64 x -4/3) (/.f64 -2 x)) (+.f64 (+.f64 x x) (-.f64 (/.f64 -2 x) x)))
(+.f64 (+.f64 x x) (+.f64 (-.f64 (/.f64 -2 x) x) (-.f64 (*.f64 x -4/3) (/.f64 -2 x))))
(+.f64 (+.f64 x x) (+.f64 (-.f64 (*.f64 x -4/3) (/.f64 -2 x)) (-.f64 (/.f64 -2 x) x)))
(+.f64 (+.f64 x x) (+.f64 (-.f64 (/.f64 2 x) (*.f64 x 4/3)) (-.f64 (/.f64 -2 x) x)))
(+.f64 (+.f64 x (/.f64 -2 x)) (+.f64 (/.f64 2 x) (*.f64 x -4/3)))
(+.f64 (+.f64 (*.f64 x -1/3) (-.f64 (*.f64 x 4/3) (/.f64 4 x))) (-.f64 (/.f64 4 x) (*.f64 x 4/3)))
(*.f64 x -1/3)
(+.f64 (+.f64 (+.f64 x x) (-.f64 (/.f64 -2 x) x)) (-.f64 (*.f64 x -4/3) (/.f64 -2 x)))
(+.f64 (-.f64 (*.f64 x -4/3) (/.f64 -2 x)) (+.f64 (+.f64 x x) (-.f64 (/.f64 -2 x) x)))
(+.f64 (+.f64 x x) (+.f64 (-.f64 (/.f64 -2 x) x) (-.f64 (*.f64 x -4/3) (/.f64 -2 x))))
(+.f64 (+.f64 x x) (+.f64 (-.f64 (*.f64 x -4/3) (/.f64 -2 x)) (-.f64 (/.f64 -2 x) x)))
(+.f64 (+.f64 x x) (+.f64 (-.f64 (/.f64 2 x) (*.f64 x 4/3)) (-.f64 (/.f64 -2 x) x)))
(+.f64 (+.f64 x (/.f64 -2 x)) (+.f64 (/.f64 2 x) (*.f64 x -4/3)))
(+.f64 (+.f64 (*.f64 x -1/3) (/.f64 4 x)) (/.f64 -4 x))
(*.f64 x -1/3)
(+.f64 (-.f64 (+.f64 (*.f64 x -1/3) (/.f64 -1 x)) (/.f64 1 x)) (/.f64 2 x))
(*.f64 x -1/3)
(+.f64 (-.f64 (+.f64 (/.f64 1 x) (*.f64 x -2/3)) (+.f64 (*.f64 x 1/3) (/.f64 -1 x))) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))
(*.f64 x -1/3)
(+.f64 (-.f64 (/.f64 -2 x) (+.f64 (*.f64 x -1/3) (/.f64 2 x))) (+.f64 (*.f64 x -2/3) (/.f64 4 x)))
(*.f64 x -1/3)
(+.f64 (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 x 1/3) (/.f64 -2 x))) (+.f64 (*.f64 x 2/3) (/.f64 -4 x)))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 1/3 x) (/.f64 -2 x)))))
(+.f64 (*.f64 x 2/3) (+.f64 (/.f64 -4 x) (-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (*.f64 1/3 x) (/.f64 -2 x)))))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (+.f64 (*.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) 2) (*.f64 1/3 x))))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (neg.f64 (+.f64 (/.f64 -2 x) (+.f64 x (/.f64 -2 x))))))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (+.f64 (-.f64 (/.f64 2 x) x) (/.f64 2 x))))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 x 2/3) (+.f64 (/.f64 2 x) (-.f64 (/.f64 2 x) x))))
(-.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x 1/3)))
(*.f64 x -1/3)
(-.f64 (*.f64 x -1/3) 0)
(*.f64 x -1/3)
(-.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (/.f64 1 x))
(*.f64 x -1/3)
(-.f64 0 (*.f64 x 1/3))
(*.f64 x -1/3)
(-.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (+.f64 (/.f64 -1 x) (*.f64 x 2/3)))
(*.f64 x -1/3)
(-.f64 (/.f64 -1 x) (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(*.f64 x -1/3)
(-.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (/.f64 2 x))
(*.f64 x -1/3)
(-.f64 (+.f64 (*.f64 x 1/3) (/.f64 -2 x)) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))
(*.f64 x -1/3)
(/.f64 (*.f64 x -1/3) 1)
(*.f64 x -1/3)
(/.f64 (*.f64 x 1/3) -1)
(*.f64 x -1/3)
(pow.f64 (*.f64 x -1/3) 1)
(*.f64 x -1/3)
(neg.f64 (*.f64 x 1/3))
(*.f64 x -1/3)
(-.f64 (/.f64 1 x) (*.f64 x 1/3))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(-.f64 (*.f64 x -1/3) (/.f64 -1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(-.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 0)
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(-.f64 0 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(-.f64 (*.f64 x 1/3) (+.f64 (/.f64 -1 x) (*.f64 x 2/3)))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(-.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) (+.f64 (*.f64 x 2/3) (/.f64 -2 x)))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(-.f64 (/.f64 -1 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(-.f64 (+.f64 (*.f64 x -1/3) (/.f64 2 x)) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(-.f64 (+.f64 (*.f64 x -2/3) (/.f64 2 x)) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(*.f64 1 (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(*.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 1)
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(*.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) -1)
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(*.f64 -1 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(/.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 1)
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(/.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)) -1)
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(pow.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) 1)
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(neg.f64 (+.f64 (*.f64 x 1/3) (/.f64 -1 x)))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(*.f64 1/3 x)
Compiler

Compiled 25 to 19 computations (24% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.1b
(*.f64 2/945 (pow.f64 x 5))
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(*.f64 1/3 x)
Compiler

Compiled 52 to 41 computations (21.2% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.0ms
x
@0
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.0ms
x
@-inf
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))

rewrite15.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
32×rational_best-simplify-1
30×rational_best-simplify-2
24×rational_best-4
24×rational_best-2
24×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01543
19943
214143
315343
415443
Stop Event
saturated
Counts
1 → 5
Calls
Call 1
Inputs
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 1)))))

simplify19.0ms (0.1%)

Algorithm
egg-herbie
Rules
20×rational_best-simplify-7
18×rational_best-simplify-1
14×rational_best-simplify-2
10×rational_best-simplify-54
rational_best-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025593
136593
254593
363593
465593
Stop Event
saturated
Counts
17 → 13
Calls
Call 1
Inputs
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 0)
(*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 1)
(*.f64 1 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))))
(/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 1)
(pow.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 1)
Outputs
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(-.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 0)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 1)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(*.f64 1 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 1)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(pow.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))) 1)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))

eval62.0ms (0.4%)

Compiler

Compiled 3306 to 2501 computations (24.3% saved)

prune33.0ms (0.2%)

Pruning

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New2066212
Fresh000
Picked011
Done145
Total20711218
Error
0.2b
Counts
218 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
59.9b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
60.0b
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
60.0b
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
0.3b
(+.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))) (+.f64 (*.f64 1/3 x) (*.f64 1/4725 (pow.f64 x 7))))
1.0b
(+.f64 (*.f64 x -2/3) x)
0.3b
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.4b
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
0.7b
(*.f64 (*.f64 x 3) 1/9)
0.7b
(*.f64 3 (*.f64 x 1/9))
1.1b
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
0.7b
(*.f64 1/3 x)
Compiler

Compiled 165 to 129 computations (21.8% saved)

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (*.f64 x 3) 1/9)
Compiler

Compiled 12 to 9 computations (25% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite14.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
22×rational_best-simplify-2
12×rational_best-4
12×rational_best-2
12×rational_best-3
12×rational_best-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0713
1467
2717
3867
4907
Stop Event
saturated
Counts
1 → 5
Calls
Call 1
Inputs
(*.f64 (*.f64 x 3) 1/9)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 1/3) 1)))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
rational_best-simplify-2
rational_best-simplify-7
rational_best-simplify-4
rational_best-simplify-49
exponential-simplify-11
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013119
115119
220119
Stop Event
saturated
Counts
17 → 6
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(+.f64 (*.f64 x 1/3) 0)
(+.f64 0 (*.f64 x 1/3))
(-.f64 (*.f64 x 1/3) 0)
(/.f64 (*.f64 x 1/3) 1)
(pow.f64 (*.f64 x 1/3) 1)
Outputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(+.f64 (*.f64 x 1/3) 0)
(*.f64 1/3 x)
(+.f64 0 (*.f64 x 1/3))
(*.f64 1/3 x)
(-.f64 (*.f64 x 1/3) 0)
(*.f64 1/3 x)
(/.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(pow.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 x 1/9)
0.3b
(*.f64 3 (*.f64 x 1/9))
Compiler

Compiled 12 to 9 computations (25% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 x 1/9)
0.0ms
x
@0
(*.f64 x 1/9)
0.0ms
x
@-inf
(*.f64 x 1/9)
0.0ms
x
@0
(*.f64 3 (*.f64 x 1/9))
0.0ms
x
@inf
(*.f64 3 (*.f64 x 1/9))

rewrite17.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
22×rational_best-simplify-2
12×rational_best-4
12×rational_best-2
12×rational_best-3
12×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
14914
27714
38714
49014
Stop Event
saturated
Counts
2 → 10
Calls
Call 1
Inputs
(*.f64 3 (*.f64 x 1/9))
(*.f64 x 1/9)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 1/3) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/9) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1/9) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/9) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 1/9) 1)))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
rational_best-simplify-2
rational_best-simplify-7
rational_best-simplify-4
rational_best-simplify-49
exponential-simplify-11
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021238
124238
231238
Stop Event
saturated
Counts
34 → 13
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(*.f64 1/9 x)
(+.f64 (*.f64 x 1/3) 0)
(+.f64 0 (*.f64 x 1/3))
(-.f64 (*.f64 x 1/3) 0)
(/.f64 (*.f64 x 1/3) 1)
(pow.f64 (*.f64 x 1/3) 1)
(+.f64 (*.f64 x 1/9) 0)
(+.f64 0 (*.f64 x 1/9))
(-.f64 (*.f64 x 1/9) 0)
(/.f64 (*.f64 x 1/9) 1)
(pow.f64 (*.f64 x 1/9) 1)
Outputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(*.f64 1/9 x)
(*.f64 x 1/9)
(+.f64 (*.f64 x 1/3) 0)
(*.f64 1/3 x)
(+.f64 0 (*.f64 x 1/3))
(*.f64 1/3 x)
(-.f64 (*.f64 x 1/3) 0)
(*.f64 1/3 x)
(/.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(pow.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(+.f64 (*.f64 x 1/9) 0)
(*.f64 x 1/9)
(+.f64 0 (*.f64 x 1/9))
(*.f64 x 1/9)
(-.f64 (*.f64 x 1/9) 0)
(*.f64 x 1/9)
(/.f64 (*.f64 x 1/9) 1)
(*.f64 x 1/9)
(pow.f64 (*.f64 x 1/9) 1)
(*.f64 x 1/9)

localize4.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 x -2/3)
0.6b
(+.f64 (*.f64 x -2/3) x)
Compiler

Compiled 11 to 7 computations (36.4% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(+.f64 (*.f64 x -2/3) x)
0.0ms
x
@-inf
(*.f64 x -2/3)
0.0ms
x
@inf
(*.f64 x -2/3)
0.0ms
x
@inf
(+.f64 (*.f64 x -2/3) x)
0.0ms
x
@-inf
(+.f64 (*.f64 x -2/3) x)

rewrite20.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
14×rational_best-simplify-2
12×rational_best-simplify-1
10×rational_best-4
10×rational_best-2
10×rational_best-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0620
14020
26014
36514
47114
57214
Stop Event
saturated
Counts
2 → 12
Calls
Call 1
Inputs
(+.f64 (*.f64 x -2/3) x)
(*.f64 x -2/3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 1/3) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -2/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -2/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x -2/3) 1)))))

simplify25.0ms (0.2%)

Algorithm
egg-herbie
Rules
16×rational_best-simplify-2
rational_best-simplify-7
rational_best-simplify-5
rational_best-simplify-49
exponential-simplify-11
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021252
125252
235252
337252
440252
542252
Stop Event
saturated
Counts
36 → 14
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(*.f64 -2/3 x)
(-.f64 (*.f64 x 1/3) 0)
(*.f64 x 1/3)
(*.f64 (*.f64 x 1/3) 1)
(*.f64 1 (*.f64 x 1/3))
(*.f64 1/3 x)
(/.f64 (*.f64 x 1/3) 1)
(pow.f64 (*.f64 x 1/3) 1)
(+.f64 (*.f64 x -2/3) 0)
(+.f64 0 (*.f64 x -2/3))
(-.f64 (*.f64 x -2/3) 0)
(/.f64 (*.f64 x -2/3) 1)
(pow.f64 (*.f64 x -2/3) 1)
Outputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(*.f64 -2/3 x)
(*.f64 x -2/3)
(-.f64 (*.f64 x 1/3) 0)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(*.f64 1 (*.f64 x 1/3))
(*.f64 1/3 x)
(*.f64 1/3 x)
(/.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(pow.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(+.f64 (*.f64 x -2/3) 0)
(*.f64 x -2/3)
(+.f64 0 (*.f64 x -2/3))
(*.f64 x -2/3)
(-.f64 (*.f64 x -2/3) 0)
(*.f64 x -2/3)
(/.f64 (*.f64 x -2/3) 1)
(*.f64 x -2/3)
(pow.f64 (*.f64 x -2/3) 1)
(*.f64 x -2/3)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
0.7b
(+.f64 (*.f64 x 3) (*.f64 x -2))
Compiler

Compiled 27 to 20 computations (25.9% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite536.0ms (3.8%)

Algorithm
batch-egg-rewrite
Rules
2682×rational_best-simplify-53
1872×rational_best-simplify-42
1280×rational_best-simplify-29
724×rational_best-simplify-2
680×rational_best-simplify-43
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01020
1688
2988
31158
41568
52258
64408
711248
816808
919078
1020048
1120658
1221118
1323058
1430318
1539118
1641018
1741958
1842958
1943938
2044558
2144858
2244938
2344958
2445098
2546318
2651598
2757598
2862238
2966978
Stop Event
node limit
Counts
2 → 26
Calls
Call 1
Inputs
(+.f64 (*.f64 x 3) (*.f64 x -2))
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 3) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -2) (*.f64 x -3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x x) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 4) (*.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 x) (*.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -3) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -4) (*.f64 x -5))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 5) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x . x)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -1/3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x -1/3))))))

simplify381.0ms (2.7%)

Algorithm
egg-herbie
Rules
2378×rational_best-simplify-29
1296×rational_best-simplify-56
1218×rational_best-simplify-52
1214×rational_best-simplify-2
854×rational_best-simplify-54
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054170
172170
2196170
3608170
42009170
53156170
63713170
74109170
84680170
95012170
105030170
115098170
125707170
136045170
146429170
156805170
166845170
176845170
Stop Event
node limit
Counts
50 → 29
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(-.f64 x 0)
(-.f64 (*.f64 x 3) (+.f64 x x))
(-.f64 (*.f64 x -2) (*.f64 x -3))
(-.f64 0 (neg.f64 x))
(-.f64 (+.f64 x x) x)
(-.f64 (*.f64 x 4) (*.f64 x 3))
(-.f64 (neg.f64 x) (*.f64 x -2))
(-.f64 (*.f64 x -3) (*.f64 x -4))
(-.f64 (*.f64 x -4) (*.f64 x -5))
(-.f64 (*.f64 x 5) (*.f64 x 4))
(*.f64 x 1)
(*.f64 1 x)
(*.f64 (neg.f64 x) -1)
(*.f64 -1 (neg.f64 x))
(/.f64 x 1)
(/.f64 (neg.f64 x) -1)
(pow.f64 x 1)
(neg.f64 (neg.f64 x))
(+.f64 (*.f64 x 1/3) 0)
(+.f64 0 (*.f64 x 1/3))
(-.f64 (*.f64 x 1/3) 0)
(-.f64 0 (*.f64 x -1/3))
(/.f64 (*.f64 x 1/3) 1)
(/.f64 (*.f64 x -1/3) -1)
(pow.f64 (*.f64 x 1/3) 1)
(neg.f64 (*.f64 x -1/3))
Outputs
x
x
x
x
x
x
x
x
x
x
x
x
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(-.f64 x 0)
x
(-.f64 (*.f64 x 3) (+.f64 x x))
x
(-.f64 (*.f64 x -2) (*.f64 x -3))
x
(-.f64 0 (neg.f64 x))
x
(-.f64 (+.f64 x x) x)
x
(-.f64 (*.f64 x 4) (*.f64 x 3))
x
(-.f64 (neg.f64 x) (*.f64 x -2))
x
(-.f64 (*.f64 x -3) (*.f64 x -4))
x
(-.f64 (*.f64 x -4) (*.f64 x -5))
x
(-.f64 (*.f64 x 5) (*.f64 x 4))
x
(*.f64 x 1)
x
(*.f64 1 x)
x
(*.f64 (neg.f64 x) -1)
x
(*.f64 -1 (neg.f64 x))
x
(/.f64 x 1)
x
(/.f64 (neg.f64 x) -1)
x
(pow.f64 x 1)
x
(neg.f64 (neg.f64 x))
x
(+.f64 (*.f64 x 1/3) 0)
(*.f64 x 1/3)
(+.f64 0 (*.f64 x 1/3))
(*.f64 x 1/3)
(-.f64 (*.f64 x 1/3) 0)
(*.f64 x 1/3)
(-.f64 0 (*.f64 x -1/3))
(*.f64 x 1/3)
(/.f64 (*.f64 x 1/3) 1)
(*.f64 x 1/3)
(/.f64 (*.f64 x -1/3) -1)
(*.f64 x 1/3)
(pow.f64 (*.f64 x 1/3) 1)
(*.f64 x 1/3)
(neg.f64 (*.f64 x -1/3))
(*.f64 x 1/3)

localize24.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 x 1/3)
2.2b
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
Compiler

Compiled 32 to 23 computations (28.1% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite14.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
28×rational_best-simplify-1
22×rational_best-simplify-2
20×rational_best-4
20×rational_best-2
20×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01138
17338
210938
311938
412038
Stop Event
saturated
Counts
2 → 10
Calls
Call 1
Inputs
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(*.f64 x 1/3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 1/3) 1)))))

simplify18.0ms (0.1%)

Algorithm
egg-herbie
Rules
48×rational_best-simplify-1
40×rational_best-simplify-43
22×rational_best-simplify-54
16×rational_best-simplify-7
10×rational_best-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024358
132358
255358
385358
4109358
5111358
6113358
Stop Event
saturated
Counts
34 → 14
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(-.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 0)
(*.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 1)
(*.f64 1 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))))
(/.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 1)
(pow.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 1)
(+.f64 (*.f64 x 1/3) 0)
(+.f64 0 (*.f64 x 1/3))
(-.f64 (*.f64 x 1/3) 0)
(/.f64 (*.f64 x 1/3) 1)
(pow.f64 (*.f64 x 1/3) 1)
Outputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(-.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 0)
(+.f64 (/.f64 -2 x) (+.f64 (/.f64 2 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -2 x) (+.f64 (*.f64 1/3 x) (/.f64 2 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (/.f64 2 x) (/.f64 -2 x)))
(*.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 1)
(+.f64 (/.f64 -2 x) (+.f64 (/.f64 2 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -2 x) (+.f64 (*.f64 1/3 x) (/.f64 2 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (/.f64 2 x) (/.f64 -2 x)))
(*.f64 1 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))))
(+.f64 (/.f64 -2 x) (+.f64 (/.f64 2 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -2 x) (+.f64 (*.f64 1/3 x) (/.f64 2 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (/.f64 2 x) (/.f64 -2 x)))
(/.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 1)
(+.f64 (/.f64 -2 x) (+.f64 (/.f64 2 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -2 x) (+.f64 (*.f64 1/3 x) (/.f64 2 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (/.f64 2 x) (/.f64 -2 x)))
(pow.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 2 x) (/.f64 -2 x))) 1)
(+.f64 (/.f64 -2 x) (+.f64 (/.f64 2 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -2 x) (+.f64 (*.f64 1/3 x) (/.f64 2 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (/.f64 2 x) (/.f64 -2 x)))
(+.f64 (*.f64 x 1/3) 0)
(*.f64 1/3 x)
(+.f64 0 (*.f64 x 1/3))
(*.f64 1/3 x)
(-.f64 (*.f64 x 1/3) 0)
(*.f64 1/3 x)
(/.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)
(pow.f64 (*.f64 x 1/3) 1)
(*.f64 1/3 x)

eval12.0ms (0.1%)

Compiler

Compiled 515 to 390 computations (24.3% saved)

prune11.0ms (0.1%)

Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New75176
Fresh011
Picked011
Done099
Total751287
Error
0.1b
Counts
87 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
59.9b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
60.0b
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
60.0b
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
0.3b
(+.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))) (+.f64 (*.f64 1/3 x) (*.f64 1/4725 (pow.f64 x 7))))
1.0b
(+.f64 (*.f64 x -2/3) x)
0.3b
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.4b
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
0.7b
(*.f64 (*.f64 x 3) 1/9)
0.7b
(*.f64 3 (*.f64 x 1/9))
1.1b
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
1.1b
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
0.7b
(*.f64 1/3 x)
Compiler

Compiled 123 to 97 computations (21.1% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
0.7b
(-.f64 (*.f64 x 4) (*.f64 x 3))
Compiler

Compiled 27 to 20 computations (25.9% saved)

series214.0ms (1.5%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
214.0ms
x
@-inf
(-.f64 (*.f64 x 4) (*.f64 x 3))
0.0ms
x
@0
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
0.0ms
x
@0
(-.f64 (*.f64 x 4) (*.f64 x 3))
0.0ms
x
@-inf
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
0.0ms
x
@inf
(-.f64 (*.f64 x 4) (*.f64 x 3))

rewrite326.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
1446×rational_best-simplify-1
1100×rational_best-simplify-2
1004×rational_best-4
1004×rational_best-2
1004×rational_best-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01020
1678
2968
31128
41398
51768
62498
73668
86618
915478
1025258
1128418
1229978
1333568
1445468
1555638
1660438
1765258
1867938
1968338
2068338
2172978
Stop Event
node limit
Counts
2 → 58
Calls
Call 1
Inputs
(-.f64 (*.f64 x 4) (*.f64 x 3))
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 4) (*.f64 x -3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 3) (*.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -3) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -4) (*.f64 x 5))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -8) (*.f64 x 9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 7) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -6) (*.f64 x 7))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 6) (*.f64 x -5))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 8) (*.f64 x -7))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -7) (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -2) (*.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -2) (-.f64 (+.f64 x x) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -5) (*.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 10) (+.f64 (*.f64 x -3) (*.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 10) (-.f64 (*.f64 x -4) (*.f64 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 10) (-.f64 (*.f64 x -3) (*.f64 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 13) (*.f64 x -12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 14) (*.f64 x -13))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 11) (*.f64 x -10))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 15) (*.f64 x -14))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 5) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 9) (*.f64 x -8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -14) (*.f64 x 15))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -15) (*.f64 x 16))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -10) (*.f64 x 11))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -13) (*.f64 x 14))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -11) (*.f64 x 12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 12) (*.f64 x -11))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 16) (*.f64 x -15))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 16) (-.f64 (*.f64 x -7) (*.f64 x 8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -3) (*.f64 x -6)) (*.f64 x 10))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -12) (*.f64 x 13))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -12) (-.f64 (*.f64 x 7) (*.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -7) (*.f64 x 8)) (*.f64 x 16))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -4) (*.f64 x 5)) (*.f64 x 10))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 x x) (neg.f64 x)) (*.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x 7) (*.f64 x -6)) (*.f64 x -12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -3) (*.f64 x 6)) (*.f64 x 10))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x . x)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -1/3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x -1/3))))))

simplify495.0ms (3.5%)

Algorithm
egg-herbie
Rules
2240×rational_best-simplify-53
1822×rational_best-simplify-29
1654×rational_best-simplify-2
840×rational_best-simplify-1
740×rational_best-simplify-54
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0132202
1204202
2513202
31135202
41645202
51909202
62296202
73351202
83805202
94156202
105010202
115376202
125405202
135432202
145434202
155769202
166035202
176553202
186726202
196726202
207272202
Stop Event
node limit
Counts
82 → 61
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(+.f64 x 0)
(+.f64 (*.f64 x 4) (*.f64 x -3))
(+.f64 (*.f64 x 3) (*.f64 x -2))
(+.f64 0 x)
(+.f64 (neg.f64 x) (+.f64 x x))
(+.f64 (*.f64 x -3) (*.f64 x 4))
(+.f64 (*.f64 x -4) (*.f64 x 5))
(+.f64 (*.f64 x -8) (*.f64 x 9))
(+.f64 (*.f64 x 7) (*.f64 x -6))
(+.f64 (*.f64 x -6) (*.f64 x 7))
(+.f64 (*.f64 x 6) (*.f64 x -5))
(+.f64 (*.f64 x 8) (*.f64 x -7))
(+.f64 (*.f64 x -7) (*.f64 x 8))
(+.f64 (*.f64 x -2) (*.f64 x 3))
(+.f64 (*.f64 x -2) (-.f64 (+.f64 x x) (neg.f64 x)))
(+.f64 (+.f64 x x) (neg.f64 x))
(+.f64 (*.f64 x -5) (*.f64 x 6))
(+.f64 (*.f64 x 10) (+.f64 (*.f64 x -3) (*.f64 x -6)))
(+.f64 (*.f64 x 10) (-.f64 (*.f64 x -4) (*.f64 x 5)))
(+.f64 (*.f64 x 10) (-.f64 (*.f64 x -3) (*.f64 x 6)))
(+.f64 (*.f64 x 13) (*.f64 x -12))
(+.f64 (*.f64 x 14) (*.f64 x -13))
(+.f64 (*.f64 x 11) (*.f64 x -10))
(+.f64 (*.f64 x 15) (*.f64 x -14))
(+.f64 (*.f64 x 5) (*.f64 x -4))
(+.f64 (*.f64 x 9) (*.f64 x -8))
(+.f64 (*.f64 x -14) (*.f64 x 15))
(+.f64 (*.f64 x -15) (*.f64 x 16))
(+.f64 (*.f64 x -10) (*.f64 x 11))
(+.f64 (*.f64 x -13) (*.f64 x 14))
(+.f64 (*.f64 x -11) (*.f64 x 12))
(+.f64 (*.f64 x 12) (*.f64 x -11))
(+.f64 (*.f64 x 16) (*.f64 x -15))
(+.f64 (*.f64 x 16) (-.f64 (*.f64 x -7) (*.f64 x 8)))
(+.f64 (+.f64 (*.f64 x -3) (*.f64 x -6)) (*.f64 x 10))
(+.f64 (*.f64 x -12) (*.f64 x 13))
(+.f64 (*.f64 x -12) (-.f64 (*.f64 x 7) (*.f64 x -6)))
(+.f64 (-.f64 (*.f64 x -7) (*.f64 x 8)) (*.f64 x 16))
(+.f64 (-.f64 (*.f64 x -4) (*.f64 x 5)) (*.f64 x 10))
(+.f64 (-.f64 (+.f64 x x) (neg.f64 x)) (*.f64 x -2))
(+.f64 (-.f64 (*.f64 x 7) (*.f64 x -6)) (*.f64 x -12))
(+.f64 (-.f64 (*.f64 x -3) (*.f64 x 6)) (*.f64 x 10))
(*.f64 x 1)
(*.f64 1 x)
(*.f64 (neg.f64 x) -1)
(*.f64 -1 (neg.f64 x))
(/.f64 x 1)
(/.f64 (neg.f64 x) -1)
(pow.f64 x 1)
(neg.f64 (neg.f64 x))
(+.f64 (*.f64 x 1/3) 0)
(+.f64 0 (*.f64 x 1/3))
(-.f64 (*.f64 x 1/3) 0)
(-.f64 0 (*.f64 x -1/3))
(/.f64 (*.f64 x 1/3) 1)
(/.f64 (*.f64 x -1/3) -1)
(pow.f64 (*.f64 x 1/3) 1)
(neg.f64 (*.f64 x -1/3))
Outputs
x
x
x
x
x
x
x
x
x
x
x
x
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(*.f64 1/3 x)
(*.f64 x 1/3)
(+.f64 x 0)
x
(+.f64 (*.f64 x 4) (*.f64 x -3))
x
(+.f64 (*.f64 x 3) (*.f64 x -2))
x
(+.f64 0 x)
x
(+.f64 (neg.f64 x) (+.f64 x x))
x
(+.f64 (*.f64 x -3) (*.f64 x 4))
x
(+.f64 (*.f64 x -4) (*.f64 x 5))
x
(+.f64 (*.f64 x -8) (*.f64 x 9))
x
(+.f64 (*.f64 x 7) (*.f64 x -6))
x
(+.f64 (*.f64 x -6) (*.f64 x 7))
x
(+.f64 (*.f64 x 6) (*.f64 x -5))
x
(+.f64 (*.f64 x 8) (*.f64 x -7))
x
(+.f64 (*.f64 x -7) (*.f64 x 8))
x
(+.f64 (*.f64 x -2) (*.f64 x 3))
x
(+.f64 (*.f64 x -2) (-.f64 (+.f64 x x) (neg.f64 x)))
x
(+.f64 (+.f64 x x) (neg.f64 x))
x
(+.f64 (*.f64 x -5) (*.f64 x 6))
x
(+.f64 (*.f64 x 10) (+.f64 (*.f64 x -3) (*.f64 x -6)))
x
(+.f64 (*.f64 x 10) (-.f64 (*.f64 x -4) (*.f64 x 5)))
x
(+.f64 (*.f64 x 10) (-.f64 (*.f64 x -3) (*.f64 x 6)))
x
(+.f64 (*.f64 x 13) (*.f64 x -12))
x
(+.f64 (*.f64 x 14) (*.f64 x -13))
x
(+.f64 (*.f64 x 11) (*.f64 x -10))
x
(+.f64 (*.f64 x 15) (*.f64 x -14))
x
(+.f64 (*.f64 x 5) (*.f64 x -4))
x
(+.f64 (*.f64 x 9) (*.f64 x -8))
x
(+.f64 (*.f64 x -14) (*.f64 x 15))
x
(+.f64 (*.f64 x -15) (*.f64 x 16))
x
(+.f64 (*.f64 x -10) (*.f64 x 11))
x
(+.f64 (*.f64 x -13) (*.f64 x 14))
x
(+.f64 (*.f64 x -11) (*.f64 x 12))
x
(+.f64 (*.f64 x 12) (*.f64 x -11))
x
(+.f64 (*.f64 x 16) (*.f64 x -15))
x
(+.f64 (*.f64 x 16) (-.f64 (*.f64 x -7) (*.f64 x 8)))
x
(+.f64 (+.f64 (*.f64 x -3) (*.f64 x -6)) (*.f64 x 10))
x
(+.f64 (*.f64 x -12) (*.f64 x 13))
x
(+.f64 (*.f64 x -12) (-.f64 (*.f64 x 7) (*.f64 x -6)))
x
(+.f64 (-.f64 (*.f64 x -7) (*.f64 x 8)) (*.f64 x 16))
x
(+.f64 (-.f64 (*.f64 x -4) (*.f64 x 5)) (*.f64 x 10))
x
(+.f64 (-.f64 (+.f64 x x) (neg.f64 x)) (*.f64 x -2))
x
(+.f64 (-.f64 (*.f64 x 7) (*.f64 x -6)) (*.f64 x -12))
x
(+.f64 (-.f64 (*.f64 x -3) (*.f64 x 6)) (*.f64 x 10))
x
(*.f64 x 1)
x
(*.f64 1 x)
x
(*.f64 (neg.f64 x) -1)
x
(*.f64 -1 (neg.f64 x))
x
(/.f64 x 1)
x
(/.f64 (neg.f64 x) -1)
x
(pow.f64 x 1)
x
(neg.f64 (neg.f64 x))
x
(+.f64 (*.f64 x 1/3) 0)
(*.f64 x 1/3)
(+.f64 0 (*.f64 x 1/3))
(*.f64 x 1/3)
(-.f64 (*.f64 x 1/3) 0)
(*.f64 x 1/3)
(-.f64 0 (*.f64 x -1/3))
(*.f64 x 1/3)
(/.f64 (*.f64 x 1/3) 1)
(*.f64 x 1/3)
(/.f64 (*.f64 x -1/3) -1)
(*.f64 x 1/3)
(pow.f64 (*.f64 x 1/3) 1)
(*.f64 x 1/3)
(neg.f64 (*.f64 x -1/3))
(*.f64 x 1/3)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x 1/3) (/.f64 -4 x))
0.3b
(*.f64 x 1/3)
2.3b
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
Compiler

Compiled 32 to 23 computations (28.1% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite13.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
28×rational_best-simplify-1
22×rational_best-simplify-2
20×rational_best-4
20×rational_best-2
20×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01150
17350
210950
311950
412050
Stop Event
saturated
Counts
2 → 10
Calls
Call 1
Inputs
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
(+.f64 (*.f64 x 1/3) (/.f64 -4 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 1)))))

simplify20.0ms (0.1%)

Algorithm
egg-herbie
Rules
18×rational_best-simplify-1
16×rational_best-simplify-7
14×rational_best-simplify-2
10×rational_best-simplify-54
rational_best-simplify-5
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028580
140580
259580
364580
466580
568580
Stop Event
saturated
Counts
34 → 16
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(/.f64 -4 x)
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(*.f64 1/3 x)
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(*.f64 1/3 x)
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 0)
(*.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 1)
(*.f64 1 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))))
(/.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 1)
(pow.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 1)
(-.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 0)
(*.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 1)
(*.f64 1 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
(/.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 1)
(pow.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 1)
Outputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(/.f64 -4 x)
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(*.f64 1/3 x)
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(*.f64 1/3 x)
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (*.f64 1/3 x) (*.f64 4 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 0)
(+.f64 (/.f64 -4 x) (+.f64 (/.f64 4 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 1/3 x) (/.f64 4 x)))
(*.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 1)
(+.f64 (/.f64 -4 x) (+.f64 (/.f64 4 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 1/3 x) (/.f64 4 x)))
(*.f64 1 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))))
(+.f64 (/.f64 -4 x) (+.f64 (/.f64 4 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 1/3 x) (/.f64 4 x)))
(/.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 1)
(+.f64 (/.f64 -4 x) (+.f64 (/.f64 4 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 1/3 x) (/.f64 4 x)))
(pow.f64 (+.f64 (*.f64 x 1/3) (+.f64 (/.f64 4 x) (/.f64 -4 x))) 1)
(+.f64 (/.f64 -4 x) (+.f64 (/.f64 4 x) (*.f64 1/3 x)))
(+.f64 (/.f64 -4 x) (+.f64 (*.f64 1/3 x) (/.f64 4 x)))
(-.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 0)
(+.f64 (/.f64 -4 x) (*.f64 1/3 x))
(*.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 1)
(+.f64 (/.f64 -4 x) (*.f64 1/3 x))
(*.f64 1 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
(+.f64 (/.f64 -4 x) (*.f64 1/3 x))
(/.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 1)
(+.f64 (/.f64 -4 x) (*.f64 1/3 x))
(pow.f64 (+.f64 (*.f64 x 1/3) (/.f64 -4 x)) 1)
(+.f64 (/.f64 -4 x) (*.f64 1/3 x))

eval16.0ms (0.1%)

Compiler

Compiled 757 to 569 computations (24.8% saved)

prune65.0ms (0.5%)

Pruning

13 alts after pruning (2 fresh and 11 done)

PrunedKeptTotal
New80282
Fresh000
Picked011
Done11011
Total811394
Error
0.1b
Counts
94 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
59.9b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
60.0b
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
60.0b
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
0.3b
(+.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))) (+.f64 (*.f64 1/3 x) (*.f64 1/4725 (pow.f64 x 7))))
1.0b
(+.f64 (*.f64 x -2/3) x)
0.3b
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.4b
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
0.7b
(*.f64 (*.f64 x 3) 1/9)
0.7b
(*.f64 3 (*.f64 x 1/9))
1.1b
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
2.5b
(*.f64 1/3 (+.f64 (*.f64 x 16) (*.f64 x -15)))
2.7b
(*.f64 1/3 (+.f64 (*.f64 x 15) (*.f64 x -14)))
0.7b
(*.f64 1/3 x)
Compiler

Compiled 133 to 105 computations (21.1% saved)

regimes229.0ms (1.6%)

Counts
15 → 1
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 3 (*.f64 x 1/9))
(*.f64 (*.f64 x 3) 1/9)
(+.f64 (*.f64 x -2/3) x)
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
(*.f64 1/3 (+.f64 (*.f64 x 15) (*.f64 x -14)))
(*.f64 1/3 (+.f64 (*.f64 x 16) (*.f64 x -15)))
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
(-.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))) (+.f64 (*.f64 1/3 x) (*.f64 1/4725 (pow.f64 x 7))))
Outputs
(+.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))) (+.f64 (*.f64 1/3 x) (*.f64 1/4725 (pow.f64 x 7))))
Calls

2 calls:

222.0ms
x
3.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Results
ErrorSegmentsBranch
0.3b1x
0.3b1(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 152 to 116 computations (23.7% saved)

regimes17.0ms (0.1%)

Counts
14 → 1
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 3 (*.f64 x 1/9))
(*.f64 (*.f64 x 3) 1/9)
(+.f64 (*.f64 x -2/3) x)
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
(*.f64 1/3 (+.f64 (*.f64 x 15) (*.f64 x -14)))
(*.f64 1/3 (+.f64 (*.f64 x 16) (*.f64 x -15)))
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
(-.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
Outputs
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
Calls

2 calls:

11.0ms
x
2.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Results
ErrorSegmentsBranch
0.3b1x
0.3b1(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 131 to 99 computations (24.4% saved)

regimes14.0ms (0.1%)

Counts
13 → 1
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 3 (*.f64 x 1/9))
(*.f64 (*.f64 x 3) 1/9)
(+.f64 (*.f64 x -2/3) x)
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
(*.f64 1/3 (+.f64 (*.f64 x 15) (*.f64 x -14)))
(*.f64 1/3 (+.f64 (*.f64 x 16) (*.f64 x -15)))
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
(-.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
Outputs
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
Calls

2 calls:

7.0ms
x
3.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Results
ErrorSegmentsBranch
0.4b1x
0.4b1(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 116 to 87 computations (25% saved)

regimes13.0ms (0.1%)

Accuracy

Total -59.4b remaining (-9055.7%)

Threshold costs -59.4b (-9055.7%)

Counts
12 → 1
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 3 (*.f64 x 1/9))
(*.f64 (*.f64 x 3) 1/9)
(+.f64 (*.f64 x -2/3) x)
(*.f64 1/3 (+.f64 (*.f64 x 3) (*.f64 x -2)))
(*.f64 1/3 (+.f64 (*.f64 x 15) (*.f64 x -14)))
(*.f64 1/3 (+.f64 (*.f64 x 16) (*.f64 x -15)))
(*.f64 1/3 (-.f64 (*.f64 x 4) (*.f64 x 3)))
(+.f64 (/.f64 2 x) (+.f64 (*.f64 x 1/3) (/.f64 -2 x)))
(+.f64 (/.f64 4 x) (+.f64 (*.f64 x 1/3) (/.f64 -4 x)))
(-.f64 (/.f64 1 x) (+.f64 (/.f64 1 x) (*.f64 x -1/3)))
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Outputs
(*.f64 1/3 x)
Calls

2 calls:

7.0ms
x
2.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Results
ErrorSegmentsBranch
0.7b1x
0.7b1(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 107 to 80 computations (25.2% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022136
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))) (+.f64 (*.f64 1/3 x) (*.f64 1/4725 (pow.f64 x 7))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(*.f64 1/3 x)
Outputs
(+.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))) (+.f64 (*.f64 1/3 x) (*.f64 1/4725 (pow.f64 x 7))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(*.f64 1/3 x)
Compiler

Compiled 52 to 42 computations (19.2% saved)

soundness163.0ms (1.2%)

Algorithm
egg-herbie
Rules
1406×rational_best-simplify-2
1336×rational_best-simplify-1
990×rational_best-simplify-52
962×rational_best-simplify-10
958×rational_best-simplify-43
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02134138
13354138
26854138
318172962
432942938
547642938
669142938
Stop Event
node limit
Compiler

Compiled 127 to 103 computations (18.9% saved)

end108.0ms (0.8%)

Compiler

Compiled 49 to 39 computations (20.4% saved)

Profiling

Loading profile data...