Implementation of a filter in a software application
If your filter is not of insane order, than double precision (64bit on most machines) floating point will totally suffice, and you really shouldn't worry too much. I agree with Arnfinn here.

I don't 100% agree on the optimization recommendation – in fact, if you want my two cents on general purpose CPU-based software implementations of filters,
then simply don't use IIRs; they might be shorter than FIRs with the same flatness/transition band steepness/suppression, but the fact that they are recursive makes them a whole lot harder to execute fast, not to mention that shortcuts like polyphased decomposition don't generally work, and thus, you can't save as much CPU when e.g. building a decimating anti-aliasing filter.

My honest advise is:


Don't worry too much about CPU performance. If you're not trying to do this in JavaScript, and you got but a couple of kilosamples to second to worry about, a simple filter implementation will do. 
If you're worried about numerical accuracy, don't worry more than at the level that's sensible: unless your filter is multiple thousand taps long or your taps are extremely bad-behaved, a FIR won't really hurt much. If you're worried about stability, simply don't use an IIR. 
Don't reinvent the wheel if you don't have to. There's excellent optimized DSP libraries out there, and as long as the programming language you use supports native libraries with a C calling convention ABI (it probably does), you can use most of them. Just let whatever tool you chose provide the taps for your IIR or FIR, and that library will do its job. I personally like libVOLK a lot, but it concentrates on FIRs, for the reasons given above.


Generally: You're asking about numerical accuracy without indicating which boundaries you need to work in and what filter orders you're talking about. This might indicate that you're not really having any problem at all, because otherwise, you might have noticed already that these are the critical aspects here :)