There are a few problems though. The first assumption (f(0)=0) is false. The function may not be polynomial at all. You should definitely test with far greater ranges because 300-500 is not enough to regress any data. As also noted, there's a problem with using heals for your test as there may be hidden variables when doing attacks, such as mob stats. In addition, attacks may have varying rates to crit (for examples DoTs may have a different rate than impact crit rate). The first thing I would do to better this test would to do attacks in a controlled environment (dummies are good for this) and use a much higher range of crit (200-700).