It seems the list of fire rates is incomplete; as I see it the caps are results of the engine letting the gun fire every N frames. For N = 1, 2, 3, 4, 5, 6 this results in the fire rates 60/1=60, 60/2=30, 60/3=20, 60/4=15, 60/5=12, 60/6=10. The next number on the list is 6 (=60/10), but what about the fire rates for every 7, 8, or 9 frames? They are not whole numbers (the post you linked lists only the whole numbers which divide 60 evenly), but they should exist: 60/7=8.571, 60/8=7.5, 60/9=6.667.
Your Slagga has a listed fire rate of 8.8, which means it would fire every 7 frames (actual fire rate 8.571). A magazine size of 236 means it will take 7236=1652 frames to empty the magazine, that’s 1652/60=27.567 seconds. If you are sure that it took 2 more seconds to empty the magazine, there must have been something else dropping your fire rate.
Let’s calculate the time with a fire rate of 7.5 (which is every 8 frames on 60 fps, or every 4 frames on 30 fps; the fire rate of 8.57 is impossible on 30 fps because that would be every 3.5 frames, which isn’t a whole number of frames). (2368)/60=31.467 seconds, that’s two seconds off as well, but this time in the other direction. If a fluctuating frame rate was what messed up your results, you must have been at 30 fps for about half the time.
Now for the Renegade, the nearest possible fire rate cap below 9.7 is 8.571 (a shot every 7 frames) as well. The magazine size of 60 makes for a really simple formula: 7 frames per shot times 60 shots, divided by 60 frames per second, or (7*60)/60=7 - perfect! On 30 fps you would get the 7.5 fire rate cap, which would take 8 seconds to empty the magazine. I’ll assume your timing is accurate, so no reduced frame rate here.
Disclaimer: I’ve done the math without a calculator, so some numbers may be off. I’m pretty sure the results are accurate, but when in doubt, double-check them.