The nice picture is enough to program the fast Hadamard transform where the routine `hm` is the transform and the rest verifies that the resulting transform is its own inverse.
This version omits the factor 2^{−m/2} in order to avoid rounding errors.
The shift amount in the definition of `s` can range from 0 thru at least 26 and has been tested for those values.
The function `f` is a fairly arbitrary supplier of test cases.
The following have been used: `x+3, fabs(x-7), x==253`.
Hadamard can be used for spread spectrum coding and also forward error control.
The Hamming distance between any two rows of the matrix H_{n} is n/2.
The above link is dead but the WayBack machine has 1 2006 copy, some of whose text appears in two 2007 patents.

This variation expresses a sine wave in Hadamard functions.
My only conclusion is that the necessary symmetries produce the necessary zeros.