The routine takes as input, a vector from the
1024 dimensional vector space over the complex numbers.
Each intermediate complex value named in the computation is some particular linear function of the input vector.
(Except for the values named by “b” and “w” which do not depend on the input.)
This is by induction on the number of computational steps.
The output from the routine, which replaces the input, is a vector from the space and each component is such a linear combination.
It follows that the output vector, viewed as a transformation of the input vector to the output vector, is a **linear transformation**.
Two linear transformations that agree on each element of a basis for the space, agree everywhere.
By exhaustive code testing we learn that the routine produces the correct answer for each of the 1024 elements of the natural basis for the space.
Therefore it always produces the correct answer.