In reply to Hans.

Yes, you skipped the first argument to the DO function. It should be
z1 = do(0, 3.4, 0.1);