OK, I have a decent combined version (that even handles things better, because the old continued_fraction_quadratic couldn't handle iterators, it needed a list).  I'll call it continued_fraction_reduce.