the relative condition number
Suppose you tell me a price changed 'by 5'. Five cents on a coffee is nothing; five thousand on a car is nothing; five on a five-dollar item is everything. Whether a change matters depends on its size RELATIVE to the thing itself. The relative condition number measures sensitivity in those same relative terms, which is the right scale for computing because floating-point numbers carry a fixed number of significant digits, not a fixed absolute precision.
Precisely, for a problem y = f(x) the relative condition number kappa is the limit, as the perturbation delta-x shrinks to zero, of the ratio (||delta-y|| / ||y||) / (||delta-x|| / ||x||), maximized over the direction of delta-x. The numerator is the relative change in the output; the denominator is the relative change in the input. For a differentiable scalar f this is exactly kappa = |x f'(x) / f(x)|. So you scale the raw derivative f'(x) by x/f(x) to convert it from an absolute slope into a relative gain. (The absolute condition number drops the x/y scaling and just uses |f'(x)|.)
Use the relative version by default. A relative condition number of 10 means: a 1% relative error in the input can become a 10% relative error in the output — about one decimal digit of accuracy lost. This is the quantity behind the 'lose log10(kappa) digits' rule. It connects directly to the master inequality forward error is at most condition number times backward error, where 'condition number' there means the relative one.
For f(x) = e^x, f'(x) = e^x, so kappa = |x e^x / e^x| = |x|. Computing e^x for x = 50 has relative condition number 50: a 0.01% input error can grow to a 0.5% output error. The exponential is benign near 0 but increasingly touchy for large arguments.
Same function, condition number depends on where you evaluate it.
Relative conditioning breaks down where the true output is zero (you cannot divide by ||y|| = 0); near such points only an absolute error bound is meaningful.