In layman's terms, how does the formula you provided relate to the one I linked?

The "next a

_{i} is the coefficient of c

^{i}" means you have to go through the formula and separate out all the different "coefficient * c

^{i}" terms, and add all the matching power coefficients together. At the end it works out like this:

\[ a_1 \leftarrow 2 Z a_1 + 1 \\ a_j \leftarrow 2 Z a_j + \sum_{i=1}^{j-1} a_i a_{j-i} \quad\text{ \(j > 1\) } \]

which can be optimized to

\[ a_1 \leftarrow 2 Z a_1 + 1 \\

a_j \leftarrow 2 Z a_j + 2 \sum_{i=1}^{\frac{j}{2}-1} a_i a_{j-i} + a_\frac{j}{2}^2 \quad\text{ \(j > 1\) even} \\

a_j \leftarrow 2 Z a_j + 2 \sum_{i=1}^{\frac{j-1}{2}} a_i a_{j-i} \quad\text{ \(j > 1\) odd} \]

The optimisation is to reduce the number of complex multiplications, and is more necessary for higher powers. A smart compiler in unsafe mode might be able to do this optimisation, but I wouldn't bet on it.

I implement the formula by a loop, means I can write one code for any order, and it's probably just as fast as unrolled code (a compiler can be told to unroll loops, too).

Is there another version of this for higher power Mandelbrot sets?

You can derive one by using the maxima code I posted and changing the argument in the last line (corresponding to p) from 2 to 3 or whatever you like. For power 3 there will be coefficents with 3 terms multiplied together, and optimiziing this is more tricky, because there are up to 6 different orders they can occur in, rather than just 2. For power p there will be p terms multiplied in p! orders. One strategy might be to sort the indices of the terms you are multiplying, but then you have to count how many times that combination can occur. Eg I think a

_{1} a

_{3} a

_{3} occurs less often than a

_{1} a

_{2} a

_{4}, afaict, though both have indices summing to 7. This is similar to the odd/even split for power 2.

Is this a sound method for determining bailout?

I think the answer is "not sound in general, but good enough for many cases". You may run into overskipping (sometimes mild distortion at the edges, sometimes fantasy fractals) or underskipping (takes longer than necessary). For sound(er) methods see knighty's truncation error formulas using ball arithmetic. I'm not 100% sure if they are perfect yet, but they're certainly more principled than a simple magnitude check.

What do you use?

In mandelbrot-perturbator I use a similar test to yours, namely that the magnitude of all the terms is decreasing. It's prone to underskipping so I want to replace it with knighty's formulas.