- Cache derivative and integral, rather than passing a pre-computed derivative as a parameter

- Fix terminology: we're working with critical points, not inflection points