I haven't run into the serpent bug again, and the animation seems a bit smoother than before (in rotation mode I'd sporadically get some very distracting jumping around of the rotation before).
Might I suggest (perhaps as an optional mode) that while you're in viper it only recommend you fire shots whose mana cost is less than or equal to the amount of mana you get back from hitting your target (ideally including JoW as well)? I know it doesn't change much (usually it's just steady) but if you're going for fastest possible regen it'd be nice for it to not suggest we blow mana on chimera-aimed-serpent while in viper.
Could even suggest the shots that proc replenishment if you have points in hunting party and don't have replenishing on you already.
If you want to get really fancy, it could subtract the expected return on a shot from thrill of the hunt from the cost of the shot
---------------
edit: have been trying out the new dynamic version some more, and am very pleased - had CPU profiling on and its CPU usage is even lower than the initial versions of the program had.
Spent a fair bit of time checking that it could get the decision between arcane shot and steady shot correct (using the spreadsheet to check against), and while the values displayed in the debug frame always seem to be off by a decent amount compared to the spreadsheet, I suspect this may just be the spreadsheet averaging out some effect I didn't find and disable. I thought FS was wrong a number of times, but each time it turned out it was just responding to some effect I hadn't noticed - for instance if I let serpent sting drop, arcane becomes a better shot than steady because I have glyph of steady; if my wolf howls, arcane becomes a better shot since even untalented it seems to be scaling better than steady; if mjolnir procs steady always seems to win regardless - all the above are just averaged into the spreadsheet's expected damage value on the shot rotations tab, so I had to disable them one by one.
Still a little frustrated that I can't get the values listed on the debug screen while shooting a target dummy to match the ones I see in the spreadsheet though, each shot seems to be off by a few percent either plus or minus, and I can't work out why :S
As noted in the spreadsheet thread, it doesn't seem to be predicting my agility and RAP correctly, leading to differences in the RAP and Crit values, so perhaps that's all that's causing the differences