I think it would be worth adding tests of one or two values that aren't in the wave_list.  In particular, the end points, since it seems pretty easy to mess something up there.  I don't think you did, but it's the place in that function that someone could easily get wrong if they were trying to improve things.  So check that c(1.1) == a(1.1) * 1.11 and c(5) = 5 * b(5).  Similarly for div and the sed tests of + and -.