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 Hn 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.