Symbolic Analysis
|
DO ¯I = A, B ... J = J+H ... |
|
DO ¯I = A, B ... J = J+K polynomial ... K = K+H linear ... J = J+1 2nd update ... P = 2*P geometric ... |
|
|
DO ¯I = 0, N ... J = J+K ... K = K+H ... J = J+1 ... P = 2*P ... |
| |||||||||||||||
|
¯ J = 0 K = 1 DO ¯I = 0, N S1: J = J+K S2: A[J] = B[K] S3: K = K+2 S4: B[2*I] = ... ENDDO |
|
¯ J = 0 K = 1 DO ¯I = 0, N S1: J = J+K S2: A[I*(I+2)+1] = B[2*I+1] S3: K = K+2 S4: B[2*I] = ... ENDDO |
|
J = 0 K = 1 DO ¯I = 0, N J = J+K A[J] = B[K] K = K+2 B[2*I] = ... ENDDO |
|
DO ¯I = 0, N A[I*(I+2)+1] = B[2*I+1] B[2*I] = ... ENDDO |
|
DO ¯I = 0, N T = a a = b b = c+2*b-T+2 c = c+d d = d+I ENDDO |
|
A = 1 B = -1 DO ¯I = 0, N T=A A=B B=T ... ENDDO |
Note: loop unrolling might help!
|
| |||||||||||||||||||||||||||||||||||
Loop variable I=A..B is replaced by {A,+,1}I
|
DO ¯I = A, B L = 2*I+H P = I*I-I Q = I*(I-1) R = 2**I |
| ||||||||||||||||||||||||||||||
|
DO ¯I = A, B J = J+K K = K+H J = J+1 ... |
|
DO ¯I = A, B J = J+K+1 K = K+H ... |
| ||||||||||||||||||||
Replace all uses of V with the CR of V
|
DO ¯I = A, B K = {K0,+,H}I J = J+{K0,+,H}I+1 ... |
|
DO ¯I = A, B K = {K0,+,H}I J = {J0+1,+,K0,+,H}I ... |
|
DO ¯I = A, B K = {K0,+,H}I J = {J0+1,+,K0,+,H}I ... |
|
J0 = J K0 = K DO ¯I = 0, B-A K = K0+H*I J = J0+(H*I*(I-1))/2+I*K0+1 ... |
|
|
J = M DO ¯I = M, N A[J] = B[K] J = I+1 K = J ENDDO |
|
J0 = M DO ¯I = 0, N-M A[¯{J0-M,*,0}I+{M, +, 1}I] = B[{K-M,*,0}I+{M,+,1}I] ENDDO |
|
DO ¯I = 0, N-M A[I+M]=B[(0**I)*(K-M)+I+M] ENDDO |
|
DO ¯I = 1, N X[J] = ... J = J+K K = K*P P = P*4 ENDDO |
|
A[0] = 0 DO ¯I = 1, N-1 A[I]=A[I-1]+(P**I)*(2**(I*(I-1))) ENDDO DO ¯I = 0, N-1 X[J+K*A[I]] = ... ENDDO |
CR of a closed form c(I) (0 £ I £ N) is
|
|
cr0 = f0 cr1 = f1 : crk = fk DO ¯I = 0, N c(I) = cr0 cr0 = cr0Ä1 cr1 cr1 = cr1Ä2 cr2 : crk-1 = crk-1Äk crk ENDDO |