Since you do not seem to care about number of operations, assuming IEEE 754 model you can perform it exactly with 32 bits operations.
See Shewchuck Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates - http://www.cs.berkeley.edu/~jrs/papers/robustr.pdf or http://www-2.cs.cmu.edu/afs/cs/project/quake/public/papers/robust-arithmetic.ps
You define two exact operations (see the paper)
(product,residue) = twoproduct(a,b)
(sum,residue) = twosum(a,b)
Then you have to decompose N+k into two 24 bit significands, for example
NkH = (N+k) / 256;
NkL = (N+K) % 256;
Then you have two potentially inexact multiplications
( HH , HL ) = twoproduct( NkH , b)
( LH , LL ) = twoproduct( NkL , b)
Then you can sum these ( HH , HL ) + ( LH , LL ) + a
This can be performed exactly with a fast-expansion-sum (see the paper again)
(c1,c2,c3,c4,c5) = sort_increasing_magnitude(HH,HL,LH,LL,a)
(s2,s1) = twosum( c2,c1 )
(s3,s2) = twosum( c3,s2 )
(s4,s3) = twosum( c4,s3 )
(s5,s4) = twosum( c5,s4 )
You then get the exactly rounded result in s5 as if the operations were performed with infinite precision arithmetic.