Previous version wrong for x_0 ne 0; this version now correct