Details

Time bar (total: 14.0s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample11.1s (79.2%)

Results
5.4s4503×body256valid
4.5s1050×body1024valid
1.2s2189×body2048valid
79.0ms514×body512valid
Bogosity

preprocess10.0ms (0.1%)

Algorithm
egg-herbie
Rules
rational.json-simplify-17
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11021
21221
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Outputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify36.0ms (0.3%)

Algorithm
egg-herbie
Rules
rational.json-simplify-17
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11021
21221
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Outputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))

eval0.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
17.3b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
17.3b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Compiler

Compiled 8 to 6 computations (25% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(atan.f64 (+.f64 N 1))
1.5b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Compiler

Compiled 19 to 12 computations (36.8% saved)

series1.0ms (0%)

Counts
2 → 8
Calls

6 calls:

TimeVariablePointExpression
0.0ms
N
@-inf
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
0.0ms
N
@inf
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
0.0ms
N
@0
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
0.0ms
N
@-inf
(atan.f64 (+.f64 N 1))
0.0ms
N
@0
(atan.f64 (+.f64 N 1))

rewrite110.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
16632
214532
328232
452632
5116532
6273132
7444632
8630432
Stop Event
node limit
Counts
2 → 77
Calls
Call 1
Inputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(atan.f64 (+.f64 N 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (atan.f64 N)) (atan.f64 (+.f64 N 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (-.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (atan.f64 N)) (+.f64 (atan.f64 (+.f64 N 1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (-.f64 -1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (atan.f64 (+.f64 N 1)) -1) (-.f64 1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2)) (+.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (atan.f64 N)) (+.f64 1 (atan.f64 (+.f64 N 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (atan.f64 N)) (*.f64 (atan.f64 (+.f64 N 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) 1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -8) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -8)) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan.f64 (+.f64 N 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan.f64 (+.f64 N 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (*.f64 (atan.f64 (+.f64 N 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan.f64 (+.f64 N 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan.f64 (+.f64 N 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan.f64 (+.f64 N 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (atan.f64 (+.f64 N 1)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan.f64 (+.f64 N 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan.f64 (+.f64 N 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan.f64 (+.f64 N 1)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (atan.f64 (+.f64 N 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (atan.f64 (+.f64 N 1)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan.f64 (+.f64 N 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan.f64 (+.f64 N 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan.f64 (+.f64 N 1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (atan.f64 (+.f64 N 1)) 1)))))

simplify315.0ms (2.2%)

Algorithm
egg-herbie
Rules
2150×rational.json-simplify-2
2062×rational.json-simplify-35
1606×rational.json-simplify-42
1362×rational.json-simplify-51
1090×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01422005
12981835
211211835
323561495
437771495
547361495
656631495
767851495
870481495
971961495
1073351495
1177541495
Stop Event
node limit
Counts
85 → 83
Calls
Call 1
Inputs
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(+.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))
(+.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 0)
(+.f64 0 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(+.f64 -1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))))
(+.f64 (neg.f64 (atan.f64 N)) (atan.f64 (+.f64 N 1)))
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
(+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (-.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (atan.f64 N)))
(+.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2))
(+.f64 (-.f64 1 (atan.f64 N)) (+.f64 (atan.f64 (+.f64 N 1)) -1))
(+.f64 -2 (+.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2))
(+.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (-.f64 -1 (atan.f64 N)))
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) -1) (-.f64 1 (atan.f64 N)))
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(+.f64 (+.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2) -2)
(+.f64 (+.f64 1 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2)) (+.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) -1))
(+.f64 (+.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2)))
(+.f64 (-.f64 -1 (atan.f64 N)) (+.f64 1 (atan.f64 (+.f64 N 1))))
(+.f64 (-.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (atan.f64 N)) (*.f64 (atan.f64 (+.f64 N 1)) 1/2))
(*.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1)
(*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2))
(*.f64 -1 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))))
(*.f64 4 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/4))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2) 1/2)
(*.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) -1)
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8) 1/8)
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -2) -1/2)
(*.f64 1/4 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 4))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) 2)
(*.f64 -2 (*.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) 1/2))
(*.f64 (*.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) 1/2) -2)
(*.f64 1/8 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/4) 4)
(*.f64 -1/2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -2))
(/.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1)
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2) 2)
(/.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) -1)
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 4) 4)
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8) 8)
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -2) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8)) 16)
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -4) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8))) 32)
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -8) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -8)) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8))))) 128)
(pow.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1)
(neg.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))))
(+.f64 (atan.f64 (+.f64 N 1)) 0)
(+.f64 0 (atan.f64 (+.f64 N 1)))
(+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (*.f64 (atan.f64 (+.f64 N 1)) 1/2))
(-.f64 (atan.f64 (+.f64 N 1)) 0)
(*.f64 1 (atan.f64 (+.f64 N 1)))
(*.f64 (atan.f64 (+.f64 N 1)) 1)
(*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 1/2))
(*.f64 4 (*.f64 (atan.f64 (+.f64 N 1)) 1/4))
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) 1/2)
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 4) 1/4)
(*.f64 1/2 (*.f64 (atan.f64 (+.f64 N 1)) 2))
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 8) 1/8)
(*.f64 1/4 (*.f64 (atan.f64 (+.f64 N 1)) 4))
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) 2)
(*.f64 1/8 (*.f64 (atan.f64 (+.f64 N 1)) 8))
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/4) 4)
(/.f64 (atan.f64 (+.f64 N 1)) 1)
(/.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) 2)
(/.f64 (*.f64 (atan.f64 (+.f64 N 1)) 4) 4)
(/.f64 (*.f64 (atan.f64 (+.f64 N 1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8))))) 128)
(pow.f64 (atan.f64 (+.f64 N 1)) 1)
Outputs
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(+.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 0)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 0 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 -1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (neg.f64 (atan.f64 N)) (atan.f64 (+.f64 N 1)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (-.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (-.f64 1 (atan.f64 N)) (+.f64 (atan.f64 (+.f64 N 1)) -1))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 -2 (+.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) -1) (-.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (+.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2) -2)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (+.f64 1 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2)) (+.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) -1))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (+.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (-.f64 -1 (atan.f64 N)) (+.f64 1 (atan.f64 (+.f64 N 1))))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (-.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (atan.f64 N)) (*.f64 (atan.f64 (+.f64 N 1)) 1/2))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 -1 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 4 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/4))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2) 1/2)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) -1)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 4) 1/4)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 1/2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8) 1/8)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -2) -1/2)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 1/4 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 4))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/2) 2)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 -2 (*.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) 1/2))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 (*.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) 1/2) -2)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 1/8 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1/4) 4)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(*.f64 -1/2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -2))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 2) 2)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))) -1)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 4) 4)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8) 8)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -2) -2)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8)) 16)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -4) -4)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8))) 32)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -8) -8)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8)))) 64)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) -8)) -16)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 8))))) 128)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(pow.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) 1)
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(neg.f64 (-.f64 (atan.f64 N) (atan.f64 (+.f64 N 1))))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (neg.f64 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 1 N)) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) 0)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(+.f64 0 (atan.f64 (+.f64 N 1)))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) (*.f64 (atan.f64 (+.f64 N 1)) 1/2))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(-.f64 (atan.f64 (+.f64 N 1)) 0)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 1 (atan.f64 (+.f64 N 1)))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 (atan.f64 (+.f64 N 1)) 1)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 1/2))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 4 (*.f64 (atan.f64 (+.f64 N 1)) 1/4))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) 1/2)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 4) 1/4)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 1/2 (*.f64 (atan.f64 (+.f64 N 1)) 2))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 8) 1/8)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 1/4 (*.f64 (atan.f64 (+.f64 N 1)) 4))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/2) 2)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 1/8 (*.f64 (atan.f64 (+.f64 N 1)) 8))
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(*.f64 (*.f64 (atan.f64 (+.f64 N 1)) 1/4) 4)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(/.f64 (atan.f64 (+.f64 N 1)) 1)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(/.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) 2)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(/.f64 (*.f64 (atan.f64 (+.f64 N 1)) 4) 4)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(/.f64 (*.f64 (atan.f64 (+.f64 N 1)) 8) 8)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(/.f64 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8)) 16)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8))) 32)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8)))) 64)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (atan.f64 (+.f64 N 1)) 8))))) 128)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))
(pow.f64 (atan.f64 (+.f64 N 1)) 1)
(atan.f64 (-.f64 1 (*.f64 -1 N)))
(atan.f64 (-.f64 1 (neg.f64 N)))
(atan.f64 (+.f64 1 N))

eval18.0ms (0.1%)

Compiler

Compiled 944 to 682 computations (27.8% saved)

prune10.0ms (0.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New81283
Fresh000
Picked011
Done000
Total81384
Error
17.3b
Counts
84 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
17.3b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
17.3b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
17.3b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
Compiler

Compiled 32 to 26 computations (18.8% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(atan.f64 (+.f64 N 1))
0.3b
(-.f64 -1 (atan.f64 N))
0.8b
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
14.0b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
Compiler

Compiled 37 to 25 computations (32.4% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
N
@-inf
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
0.0ms
N
@0
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
0.0ms
N
@inf
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
0.0ms
N
@0
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
0.0ms
N
@-inf
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)

rewrite206.0ms (1.5%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
01271
18771
217871
335765
474563
5187263
6383163
7545063
8710763
Stop Event
node limit
Counts
3 → 89
Calls
Call 1
Inputs
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 -1 (atan.f64 N)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 -1 (atan.f64 N)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 -2 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (atan.f64 N)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 -1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (atan.f64 N)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -2 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 -1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 -1 (atan.f64 N)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (atan.f64 N)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 -1 (atan.f64 N)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 -1 (atan.f64 N)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (atan.f64 N)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 -1 (atan.f64 N)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (atan.f64 N)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 1 (atan.f64 N))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 1 (atan.f64 N))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 1 (atan.f64 N)))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 1 (atan.f64 N))))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N))))) (*.f64 2 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 -1 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 0 (-.f64 -1 (atan.f64 N))))))))

simplify477.0ms (3.4%)

Algorithm
egg-herbie
Rules
1904×rational.json-simplify-2
1888×rational.json-simplify-35
1394×rational.json-simplify-51
1048×rational.json-simplify-45
1032×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01692543
13612543
29392335
320872335
436562335
548312335
658402335
764762335
872912335
975982335
1078122335
Stop Event
node limit
Counts
125 → 98
Calls
Call 1
Inputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) -1)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 0)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 1/2)
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2))
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2) 2)
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 2)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))))) 128)
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 0)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1) -1)
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1/2))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)))
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 -1 (atan.f64 N)) 2)))
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1/2) 2)
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)
(*.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)) 1/2)
(*.f64 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 -1 (atan.f64 N)) 2)) 1/2)
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 2)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8))))) 128)
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(+.f64 1 (-.f64 -2 (atan.f64 N)))
(+.f64 -1 (neg.f64 (atan.f64 N)))
(+.f64 (-.f64 -1 (atan.f64 N)) 0)
(+.f64 0 (-.f64 -1 (atan.f64 N)))
(+.f64 (neg.f64 (atan.f64 N)) -1)
(+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))
(+.f64 -2 (-.f64 1 (atan.f64 N)))
(+.f64 (-.f64 -2 (atan.f64 N)) 1)
(+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))
(*.f64 1 (-.f64 -1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 (-.f64 -1 (atan.f64 N)) 1)
(*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))
(*.f64 4 (/.f64 (-.f64 -1 (atan.f64 N)) 4))
(*.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) 1/2)
(*.f64 (+.f64 1 (atan.f64 N)) -1)
(*.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 -1 (atan.f64 N)) 2))
(*.f64 1/4 (*.f64 (-.f64 -1 (atan.f64 N)) 4))
(*.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) 2)
(*.f64 (/.f64 (+.f64 1 (atan.f64 N)) 2) -2)
(*.f64 (/.f64 (-.f64 -1 (atan.f64 N)) 4) 4)
(/.f64 (-.f64 -1 (atan.f64 N)) 1)
(/.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) 2)
(/.f64 (+.f64 1 (atan.f64 N)) -1)
(/.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 4)
(/.f64 (*.f64 2 (+.f64 1 (atan.f64 N))) -2)
(/.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 8) 8)
(/.f64 (*.f64 4 (+.f64 1 (atan.f64 N))) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 1 (atan.f64 N)))) -8)
(/.f64 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N)))) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 1 (atan.f64 N))))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N))))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8))))) 128)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N))))) (*.f64 2 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N)))))) 16)
(pow.f64 (-.f64 -1 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(neg.f64 (-.f64 0 (-.f64 -1 (atan.f64 N))))
Outputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (+.f64 1 (atan.f64 N)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) -1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 0)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 1/2)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 1/4)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2) 2)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 2)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8) 8)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)) 16)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))) 32)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) 64)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))))) 128)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 0)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(-.f64 (-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1) -1)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1/2))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 1/2)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 1/4)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 -1 (atan.f64 N)) 2)))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1/2) 2)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)) 1/2)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(*.f64 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 -1 (atan.f64 N)) 2)) 1/2)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 2)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8) 8)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8)) 16)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8))) 32)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8)))) 64)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 8))))) 128)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (+.f64 1 (atan.f64 N)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))
(+.f64 1 (-.f64 -2 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(+.f64 -1 (neg.f64 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(+.f64 (-.f64 -1 (atan.f64 N)) 0)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(+.f64 0 (-.f64 -1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(+.f64 (neg.f64 (atan.f64 N)) -1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(+.f64 -2 (-.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(+.f64 (-.f64 -2 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 1 (-.f64 -1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (-.f64 -1 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 4 (/.f64 (-.f64 -1 (atan.f64 N)) 4))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) 1/2)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (+.f64 1 (atan.f64 N)) -1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 1/4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 1/2 (*.f64 (-.f64 -1 (atan.f64 N)) 2))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 1/4 (*.f64 (-.f64 -1 (atan.f64 N)) 4))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) 2)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (/.f64 (+.f64 1 (atan.f64 N)) 2) -2)
(*.f64 -2 (/.f64 (+.f64 1 (atan.f64 N)) 2))
(*.f64 -2 (*.f64 (-.f64 -1 (atan.f64 N)) -1/2))
(*.f64 -2 (*.f64 (+.f64 1 (atan.f64 N)) 1/2))
(*.f64 (/.f64 (-.f64 -1 (atan.f64 N)) 4) 4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (-.f64 -1 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 2) 2)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (+.f64 1 (atan.f64 N)) -1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (+.f64 1 (atan.f64 N))) -2)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 8) 8)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 4 (+.f64 1 (atan.f64 N))) -4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8)) 16)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8))) 32)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 1 (atan.f64 N)))) -8)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N)))) 4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 1 (atan.f64 N))))) -16)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8)))) 64)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N))))) 8)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 8))))) 128)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N))))) (*.f64 2 (neg.f64 (*.f64 4 (+.f64 1 (atan.f64 N)))))) 16)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(pow.f64 (-.f64 -1 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(neg.f64 (-.f64 0 (-.f64 -1 (atan.f64 N))))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))

localize79.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(atan.f64 (+.f64 N 1))
0.2b
(-.f64 1 (atan.f64 N))
0.2b
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
19.4b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
Compiler

Compiled 37 to 25 computations (32.4% saved)

series1.0ms (0%)

Counts
3 → 24
Calls

9 calls:

TimeVariablePointExpression
0.0ms
N
@0
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
0.0ms
N
@-inf
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
0.0ms
N
@inf
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
0.0ms
N
@0
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
0.0ms
N
@inf
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)

rewrite130.0ms (0.9%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01271
18871
218365
337463
475163
5188263
6387463
7557463
8732163
Stop Event
node limit
Counts
3 → 86
Calls
Call 1
Inputs
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(-.f64 1 (atan.f64 N))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (atan.f64 (+.f64 N 1)) -1) (neg.f64 (+.f64 (atan.f64 N) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (+.f64 (atan.f64 N) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 1 (atan.f64 N)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 1 (atan.f64 N)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (atan.f64 N)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (atan.f64 N) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (atan.f64 N) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (atan.f64 N) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (atan.f64 N)) 1/2) (*.f64 (-.f64 1 (atan.f64 N)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 1/2) -1) (-.f64 1 (/.f64 (+.f64 (atan.f64 N) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (atan.f64 N) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (atan.f64 N) -1) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (atan.f64 N) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (atan.f64 N)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (atan.f64 N)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (atan.f64 N)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (atan.f64 N)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (atan.f64 N) -1) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (atan.f64 N) -1) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (atan.f64 N) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (atan.f64 N)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (atan.f64 N) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (atan.f64 N)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (atan.f64 N) -1)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (atan.f64 N) -1))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (atan.f64 N) -1)))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1)))) (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (atan.f64 N) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 0 (-.f64 1 (atan.f64 N))))))))

simplify245.0ms (1.7%)

Algorithm
egg-herbie
Rules
1942×rational.json-simplify-1
1894×rational.json-simplify-35
1688×rational.json-simplify-2
1284×rational.json-simplify-51
1056×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01702142
13652142
29242142
319312142
438082142
544702142
650462142
755722142
859032142
962212142
1074732142
Stop Event
node limit
Counts
110 → 93
Calls
Call 1
Inputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (-.f64 1 (*.f64 -1 N)))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (-.f64 1 (*.f64 -1 N)))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (-.f64 1 (*.f64 -1 N)))) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (-.f64 1 (*.f64 -1 N)))) (atan.f64 N))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 0)
(-.f64 (+.f64 (+.f64 (atan.f64 (+.f64 N 1)) -1) (neg.f64 (+.f64 (atan.f64 N) -2))) 1)
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 2)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))))) 128)
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 0)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (+.f64 (atan.f64 N) -2))) 1)
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1/2))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 2) 1/2)
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 2))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)))
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 1 (atan.f64 N)) 2)))
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1/2) 2)
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4) 4)
(*.f64 (+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)) 1/2)
(*.f64 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 1 (atan.f64 N)) 2)) 1/2)
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 2) 2)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4) 4)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8))))) 128)
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(+.f64 (-.f64 1 (atan.f64 N)) 0)
(+.f64 -1 (neg.f64 (+.f64 (atan.f64 N) -2)))
(+.f64 0 (-.f64 1 (atan.f64 N)))
(+.f64 (neg.f64 (+.f64 (atan.f64 N) -2)) -1)
(+.f64 -2 (-.f64 1 (+.f64 (atan.f64 N) -2)))
(+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 1/2) (*.f64 (-.f64 1 (atan.f64 N)) 1/2))
(+.f64 (+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 1/2) -1) (-.f64 1 (/.f64 (+.f64 (atan.f64 N) -1) 2)))
(*.f64 1 (-.f64 1 (atan.f64 N)))
(*.f64 (-.f64 1 (atan.f64 N)) 1)
(*.f64 -1 (+.f64 (atan.f64 N) -1))
(*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 1/2))
(*.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (atan.f64 N) -1) -4))
(*.f64 (+.f64 (atan.f64 N) -1) -1)
(*.f64 (*.f64 (-.f64 1 (atan.f64 N)) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 1 (atan.f64 N)) 2))
(*.f64 (*.f64 (-.f64 1 (atan.f64 N)) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 1 (atan.f64 N)) 4))
(*.f64 (/.f64 (+.f64 (atan.f64 N) -1) 2) -2)
(*.f64 (/.f64 (+.f64 (atan.f64 N) -1) -4) 4)
(/.f64 (-.f64 1 (atan.f64 N)) 1)
(/.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) 2)
(/.f64 (+.f64 (atan.f64 N) -1) -1)
(/.f64 (*.f64 (-.f64 1 (atan.f64 N)) 4) 4)
(/.f64 (*.f64 2 (+.f64 (atan.f64 N) -1)) -2)
(/.f64 (*.f64 (-.f64 1 (atan.f64 N)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8)) 16)
(/.f64 (*.f64 4 (+.f64 (atan.f64 N) -1)) -4)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (atan.f64 N) -1))) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8))) 32)
(/.f64 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1))) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (atan.f64 N) -1)))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1)))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8))))) 128)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1)))) (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1))))) 16)
(pow.f64 (-.f64 1 (atan.f64 N)) 1)
(neg.f64 (+.f64 (atan.f64 N) -1))
(neg.f64 (-.f64 0 (-.f64 1 (atan.f64 N))))
Outputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (atan.f64 (-.f64 1 (*.f64 -1 N))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (+.f64 N 1))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (-.f64 1 (*.f64 -1 N)))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (-.f64 1 (*.f64 -1 N)))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (-.f64 1 (*.f64 -1 N)))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 1 (atan.f64 (-.f64 1 (*.f64 -1 N)))) (atan.f64 N))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 0)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (+.f64 (+.f64 (atan.f64 (+.f64 N 1)) -1) (neg.f64 (+.f64 (atan.f64 N) -2))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 1/2)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 1/4)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1/2) 2)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 2)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8) 8)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)) 16)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))) 32)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) 64)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 8))))) 128)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 0)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (+.f64 (atan.f64 N) -2))) 1)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1/2))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 2) 1/2)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4) 1/4)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 2))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 1 (atan.f64 N)) 2)))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4))
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1/2) 2)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4) 4)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 (+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) (*.f64 (atan.f64 (+.f64 N 1)) 2)) 1/2)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(*.f64 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (*.f64 (-.f64 1 (atan.f64 N)) 2)) 1/2)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 2) 2)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 4) 4)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8) 8)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8)) 16)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8))) 32)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8)))) 64)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 8))))) 128)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N)))
(+.f64 1 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)))
(+.f64 (-.f64 1 (atan.f64 N)) 0)
(-.f64 1 (atan.f64 N))
(+.f64 -1 (neg.f64 (+.f64 (atan.f64 N) -2)))
(-.f64 1 (atan.f64 N))
(+.f64 0 (-.f64 1 (atan.f64 N)))
(-.f64 1 (atan.f64 N))
(+.f64 (neg.f64 (+.f64 (atan.f64 N) -2)) -1)
(-.f64 1 (atan.f64 N))
(+.f64 -2 (-.f64 1 (+.f64 (atan.f64 N) -2)))
(-.f64 1 (atan.f64 N))
(+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 1/2) (*.f64 (-.f64 1 (atan.f64 N)) 1/2))
(-.f64 1 (atan.f64 N))
(+.f64 (+.f64 (*.f64 (-.f64 1 (atan.f64 N)) 1/2) -1) (-.f64 1 (/.f64 (+.f64 (atan.f64 N) -1) 2)))
(-.f64 1 (atan.f64 N))
(*.f64 1 (-.f64 1 (atan.f64 N)))
(-.f64 1 (atan.f64 N))
(*.f64 (-.f64 1 (atan.f64 N)) 1)
(-.f64 1 (atan.f64 N))
(*.f64 -1 (+.f64 (atan.f64 N) -1))
(-.f64 1 (atan.f64 N))
(*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 1/2))
(-.f64 1 (atan.f64 N))
(*.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) 1/2)
(-.f64 1 (atan.f64 N))
(*.f64 4 (/.f64 (+.f64 (atan.f64 N) -1) -4))
(-.f64 1 (atan.f64 N))
(*.f64 (+.f64 (atan.f64 N) -1) -1)
(-.f64 1 (atan.f64 N))
(*.f64 (*.f64 (-.f64 1 (atan.f64 N)) 4) 1/4)
(-.f64 1 (atan.f64 N))
(*.f64 1/2 (*.f64 (-.f64 1 (atan.f64 N)) 2))
(-.f64 1 (atan.f64 N))
(*.f64 (*.f64 (-.f64 1 (atan.f64 N)) 1/2) 2)
(-.f64 1 (atan.f64 N))
(*.f64 1/4 (*.f64 (-.f64 1 (atan.f64 N)) 4))
(-.f64 1 (atan.f64 N))
(*.f64 (/.f64 (+.f64 (atan.f64 N) -1) 2) -2)
(-.f64 1 (atan.f64 N))
(*.f64 (/.f64 (+.f64 (atan.f64 N) -1) -4) 4)
(-.f64 1 (atan.f64 N))
(/.f64 (-.f64 1 (atan.f64 N)) 1)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 (-.f64 1 (atan.f64 N)) 2) 2)
(-.f64 1 (atan.f64 N))
(/.f64 (+.f64 (atan.f64 N) -1) -1)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 (-.f64 1 (atan.f64 N)) 4) 4)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 2 (+.f64 (atan.f64 N) -1)) -2)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 (-.f64 1 (atan.f64 N)) 8) 8)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8)) 16)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 4 (+.f64 (atan.f64 N) -1)) -4)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (atan.f64 N) -1))) -8)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8))) 32)
(-.f64 1 (atan.f64 N))
(/.f64 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1))) 4)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (atan.f64 N) -1)))) -16)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8)))) 64)
(-.f64 1 (atan.f64 N))
(/.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1)))) 8)
(-.f64 1 (atan.f64 N))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (atan.f64 N)) 8))))) 128)
(-.f64 1 (atan.f64 N))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1)))) (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (atan.f64 N) -1))))) 16)
(-.f64 1 (atan.f64 N))
(pow.f64 (-.f64 1 (atan.f64 N)) 1)
(-.f64 1 (atan.f64 N))
(neg.f64 (+.f64 (atan.f64 N) -1))
(-.f64 1 (atan.f64 N))
(neg.f64 (-.f64 0 (-.f64 1 (atan.f64 N))))
(-.f64 1 (atan.f64 N))

eval79.0ms (0.6%)

Compiler

Compiled 3709 to 2894 computations (22% saved)

prune30.0ms (0.2%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2461247
Fresh000
Picked011
Done022
Total2464250
Error
17.2b
Counts
250 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
17.3b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
17.3b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
17.3b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
17.3b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
Compiler

Compiled 57 to 47 computations (17.5% saved)

localize40.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(-.f64 -1 (atan.f64 N))
0.3b
(+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))
0.8b
(+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))))
14.5b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
Compiler

Compiled 103 to 77 computations (25.2% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
N
@inf
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
1.0ms
N
@-inf
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
1.0ms
N
@0
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
0.0ms
N
@-inf
(+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))))
0.0ms
N
@0
(+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))))

rewrite137.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1566×rational.json-1
1430×rational.json-simplify-35
1400×exponential.json-3
1400×rational.json-2
1400×rational.json-4
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
017191
1127191
226871
362665
4159863
5346963
6488263
7645663
8795363
Stop Event
node limit
Counts
3 → 91
Calls
Call 1
Inputs
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
(+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2))))
(+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -2 (atan.f64 N))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (-.f64 (*.f64 (atan.f64 N) -2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (-.f64 (*.f64 (atan.f64 N) -2) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (+.f64 1 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (atan.f64 N) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (atan.f64 N))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 1 (+.f64 (atan.f64 N) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (-.f64 -1 (atan.f64 N))) (/.f64 (+.f64 1 (atan.f64 N)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (atan.f64 N)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 1 (+.f64 1 (+.f64 (atan.f64 N) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 1 (neg.f64 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (+.f64 (atan.f64 N) -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (+.f64 1 (+.f64 1 (atan.f64 N))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (-.f64 (atan.f64 N) -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -2 (atan.f64 N)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -2 (+.f64 (atan.f64 N) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (+.f64 1 (atan.f64 N)) -4) (/.f64 (+.f64 1 (atan.f64 N)) 2)) (/.f64 (+.f64 1 (atan.f64 N)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 -1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (atan.f64 N) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 -1 (atan.f64 N))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 -1 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (atan.f64 N) -2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1 (atan.f64 N)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (atan.f64 N)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 -1 (atan.f64 N)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (atan.f64 N)) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (atan.f64 N)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (atan.f64 N) -2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (atan.f64 N)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 1 (atan.f64 N))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N))))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 -1 (atan.f64 N)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 1 (atan.f64 N)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 1 (+.f64 1 (+.f64 (atan.f64 N) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 1 (neg.f64 (atan.f64 N))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (+.f64 (atan.f64 N) -1) -2))))))

simplify341.0ms (2.4%)

Algorithm
egg-herbie
Rules
2348×rational.json-simplify-2
1476×rational.json-simplify-35
1286×rational.json-simplify-51
1152×rational.json-simplify-52
1102×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01713219
13842719
28912455
325282455
444562455
555412455
659512455
764222455
868282455
974852455
Stop Event
node limit
Counts
127 → 102
Calls
Call 1
Inputs
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N)))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N)))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N)))))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N)))))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N))))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N))))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N))))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N))))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) -1)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 0)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))))
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(*.f64 2 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 1/2)
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 1/4)
(*.f64 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))) 2)
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 2)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))))) 64)
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 0)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -2 (atan.f64 N))) -1)
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))))
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2))
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (-.f64 (*.f64 (atan.f64 N) -2) 2)))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(*.f64 2 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 1/2)
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))
(*.f64 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))) 2)
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)
(*.f64 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (-.f64 (*.f64 (atan.f64 N) -2) 2)) 1/2)
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 2)
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))))) 64)
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(-.f64 1 (+.f64 1 (+.f64 1 (atan.f64 N))))
(-.f64 1 (-.f64 (atan.f64 N) -2))
(-.f64 -1 (atan.f64 N))
(-.f64 -1 (+.f64 1 (+.f64 (atan.f64 N) -1)))
(-.f64 (*.f64 1/2 (-.f64 -1 (atan.f64 N))) (/.f64 (+.f64 1 (atan.f64 N)) 2))
(-.f64 (-.f64 -1 (atan.f64 N)) 0)
(-.f64 0 (+.f64 1 (atan.f64 N)))
(-.f64 0 (+.f64 1 (+.f64 1 (+.f64 (atan.f64 N) -1))))
(-.f64 0 (-.f64 1 (neg.f64 (atan.f64 N))))
(-.f64 0 (-.f64 (+.f64 (atan.f64 N) -1) -2))
(-.f64 0 (-.f64 (+.f64 1 (+.f64 1 (atan.f64 N))) 1))
(-.f64 0 (-.f64 (-.f64 (atan.f64 N) -2) 1))
(-.f64 (-.f64 -2 (atan.f64 N)) -1)
(-.f64 (neg.f64 (atan.f64 N)) 1)
(-.f64 -2 (+.f64 (atan.f64 N) -1))
(-.f64 (-.f64 (/.f64 (+.f64 1 (atan.f64 N)) -4) (/.f64 (+.f64 1 (atan.f64 N)) 2)) (/.f64 (+.f64 1 (atan.f64 N)) 4))
(*.f64 1 (-.f64 -1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(*.f64 1/2 (-.f64 (*.f64 (atan.f64 N) -2) 2))
(*.f64 (*.f64 1/2 (-.f64 -1 (atan.f64 N))) 2)
(*.f64 (-.f64 -1 (atan.f64 N)) 1)
(*.f64 2 (*.f64 1/2 (-.f64 -1 (atan.f64 N))))
(*.f64 (-.f64 (*.f64 (atan.f64 N) -2) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 1 (atan.f64 N)) -4))
(*.f64 (+.f64 1 (atan.f64 N)) -1)
(*.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 -1 (atan.f64 N)) 4))
(*.f64 (/.f64 (+.f64 1 (atan.f64 N)) -4) 4)
(*.f64 (/.f64 (+.f64 1 (atan.f64 N)) 2) -2)
(/.f64 (-.f64 -1 (atan.f64 N)) 1)
(/.f64 (-.f64 (*.f64 (atan.f64 N) -2) 2) 2)
(/.f64 (+.f64 1 (atan.f64 N)) -1)
(/.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4)) 8)
(/.f64 (*.f64 2 (+.f64 1 (atan.f64 N))) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N)))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N))))) -8)
(/.f64 (neg.f64 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N))))) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4))))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N)))))) 8)
(pow.f64 (-.f64 -1 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (+.f64 1 (+.f64 (atan.f64 N) -1))))
(neg.f64 (-.f64 1 (neg.f64 (atan.f64 N))))
(neg.f64 (-.f64 (+.f64 (atan.f64 N) -1) -2))
Outputs
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N)))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N)))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N)))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N)))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 N 1)))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(+.f64 (*.f64 -1 (+.f64 1 (atan.f64 N))) (atan.f64 (-.f64 1 (*.f64 -1 N))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) -1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 0)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) 1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 2 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 1/2)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 1/4)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))) 2)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 2) 2)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4) 4)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4)) 8)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))) 16)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4)))) 32)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 4))))) 64)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (+.f64 (atan.f64 (+.f64 1 N)) 1))
(+.f64 1 (+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N))))
(+.f64 (atan.f64 (+.f64 1 N)) (neg.f64 (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 0)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N))) 1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(-.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -2 (atan.f64 N))) -1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 1 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 1/2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (-.f64 (*.f64 (atan.f64 N) -2) 2)))
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 1 N)) 2) (-.f64 (*.f64 (atan.f64 N) -2) 2)))
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 1 N)) 2) (+.f64 -2 (*.f64 (atan.f64 N) -2))))
(*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 2 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 4 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 1/2)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 1/4)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 1/4 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 (*.f64 1/2 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N)))) 2)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 (/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(*.f64 (+.f64 (*.f64 (atan.f64 (+.f64 N 1)) 2) (-.f64 (*.f64 (atan.f64 N) -2) 2)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 1 N)) 2) (-.f64 (*.f64 (atan.f64 N) -2) 2)))
(*.f64 1/2 (+.f64 (*.f64 (atan.f64 (+.f64 1 N)) 2) (+.f64 -2 (*.f64 (atan.f64 N) -2))))
(/.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 2) 2)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4) 4)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4)) 8)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))) 16)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4)))) 32)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 4))))) 64)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(pow.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(+.f64 (neg.f64 (+.f64 1 (atan.f64 N))) (atan.f64 (+.f64 1 N)))
(+.f64 (atan.f64 (+.f64 1 N)) (-.f64 -1 (atan.f64 N)))
(-.f64 1 (+.f64 1 (+.f64 1 (atan.f64 N))))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 1 (-.f64 (atan.f64 N) -2))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 -1 (atan.f64 N))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (+.f64 1 (+.f64 (atan.f64 N) -1)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 (*.f64 1/2 (-.f64 -1 (atan.f64 N))) (/.f64 (+.f64 1 (atan.f64 N)) 2))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 (-.f64 -1 (atan.f64 N)) 0)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 0 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 0 (+.f64 1 (+.f64 1 (+.f64 (atan.f64 N) -1))))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 0 (-.f64 1 (neg.f64 (atan.f64 N))))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 0 (-.f64 (+.f64 (atan.f64 N) -1) -2))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 0 (-.f64 (+.f64 1 (+.f64 1 (atan.f64 N))) 1))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 0 (-.f64 (-.f64 (atan.f64 N) -2) 1))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 (-.f64 -2 (atan.f64 N)) -1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 (neg.f64 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 -2 (+.f64 (atan.f64 N) -1))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(-.f64 (-.f64 (/.f64 (+.f64 1 (atan.f64 N)) -4) (/.f64 (+.f64 1 (atan.f64 N)) 2)) (/.f64 (+.f64 1 (atan.f64 N)) 4))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 1 (-.f64 -1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 -1 (+.f64 1 (atan.f64 N)))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 1/2 (-.f64 (*.f64 (atan.f64 N) -2) 2))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (*.f64 1/2 (-.f64 -1 (atan.f64 N))) 2)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (-.f64 -1 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 2 (*.f64 1/2 (-.f64 -1 (atan.f64 N))))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (-.f64 (*.f64 (atan.f64 N) -2) 2) 1/2)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 4 (/.f64 (+.f64 1 (atan.f64 N)) -4))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (+.f64 1 (atan.f64 N)) -1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 1/4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 1/4 (*.f64 (-.f64 -1 (atan.f64 N)) 4))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (/.f64 (+.f64 1 (atan.f64 N)) -4) 4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(*.f64 (/.f64 (+.f64 1 (atan.f64 N)) 2) -2)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (-.f64 -1 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (-.f64 (*.f64 (atan.f64 N) -2) 2) 2)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (+.f64 1 (atan.f64 N)) -1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 4) 4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4)) 8)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (+.f64 1 (atan.f64 N))) -2)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4))) 16)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N)))) -4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4)))) 32)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N))))) -8)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (neg.f64 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N))))) 4)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 -1 (atan.f64 N)) 4))))) 64)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 2 (+.f64 1 (atan.f64 N)))))) 8)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(pow.f64 (-.f64 -1 (atan.f64 N)) 1)
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(neg.f64 (+.f64 1 (+.f64 1 (+.f64 (atan.f64 N) -1))))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(neg.f64 (-.f64 1 (neg.f64 (atan.f64 N))))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))
(neg.f64 (-.f64 (+.f64 (atan.f64 N) -1) -2))
(neg.f64 (+.f64 1 (atan.f64 N)))
(-.f64 -1 (atan.f64 N))

eval336.0ms (2.4%)

Compiler

Compiled 4062 to 3258 computations (19.8% saved)

prune26.0ms (0.2%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1920192
Fresh000
Picked011
Done033
Total1924196
Error
17.2b
Counts
196 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
17.3b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
17.3b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
17.3b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
17.3b
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
Compiler

Compiled 57 to 47 computations (17.5% saved)

regimes60.0ms (0.4%)

Counts
4 → 1
Calls
Call 1
Inputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
Outputs
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
Calls

2 calls:

56.0ms
N
2.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Results
ErrorSegmentsBranch
17.3b1N
17.3b1(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Compiler

Compiled 64 to 48 computations (25% saved)

regimes6.0ms (0%)

Accuracy

Total -0.1b remaining (-0.4%)

Threshold costs -0.1b (-0.4%)

Counts
3 → 1
Calls
Call 1
Inputs
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 1 (atan.f64 N))) -1)
Outputs
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
Calls

2 calls:

3.0ms
N
2.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Results
ErrorSegmentsBranch
17.3b1N
17.3b1(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Compiler

Compiled 40 to 29 computations (27.5% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020127
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Outputs
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (+.f64 (+.f64 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 -1 (atan.f64 N)) 1/2)))) 1)
(+.f64 (+.f64 (atan.f64 (+.f64 N 1)) (-.f64 -1 (atan.f64 N))) 1)
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Compiler

Compiled 45 to 37 computations (17.8% saved)

soundness0.0ms (0%)

end183.0ms (1.3%)

Compiler

Compiled 43 to 33 computations (23.3% saved)

Profiling

Loading profile data...