1# program cholesau 2# 3# integer i, j, k,l,n 4# real a(10,10),s1(10,10),s2(10),s3(10,10,10),s4(10,10) 5# 6# do i=1,n 7# do j =1,i-1 8# if (j.EQ.1) then 9# s1(i,j)=a(i,j)s4(j,i)**2 10# else 11# s1(i,j)=s1(i,j-1)-s4(j,i)**2 12# end if 13# end do 14# if (i .EQ. 1) then 15# s2(i)=sqrt(a(i,i)) 16# else 17# s2(i)=sqrt (s1(i,i-1)) 18# end if 19# do k=i+1,n 20# do l=1,i-1 21# if (l .EQ. 1) then 22# s3(i,k,l)=a(k,i)-(s4(l,k)*s4(l,i)) 23# else 24# s3(i,k,l)=s3(i,k,l-1)-(s4(l,k)*s4(l,i)) 25# end if 26# end do 27# if (i .EQ.1) then 28# s4(i,k)=a(k,i)/s2(i) 29# else 30# s4(i,k)=s3(i,k,i-1)/s2(i) 31# end if 32# end do 33# end do 34# end 35 36 37# language: FORTRAN 38f 39 40# One parameter : n >= 10 411 3 42# n 1 431 1 -10 44# We want to set the parameter names... 451 46# and 'n' is the name of the unique parameter 47n 48 498 # Number of statements: 8. 50 511 52# {i, j | 1<=i<=n; 1<=j<=i-1; j=1} 535 5 54# i j n 1 551 1 0 0 -1 # 1<=i 561 -1 0 1 0 # i<=n 571 0 1 0 -1 # 1<=j 581 1 -1 0 -1 # j<=i-1 590 0 1 0 -1 # j=1 600 0 0 61 622 63# {i, j | 1<=i<=n; 1<=j<=i-1; j!=1} 645 5 65# i j n 1 661 1 0 0 -1 # 1<=i 671 -1 0 1 0 # i<=n 681 0 1 0 -1 # 1<=j 691 1 -1 0 -1 # j<=i-1 701 0 1 0 -2 # j>=2 715 5 72# i j n 1 731 1 0 0 -1 # 1<=i 741 -1 0 1 0 # i<=n 751 0 1 0 -1 # 1<=j 761 1 -1 0 -1 # j<=i-1 771 0 -1 0 0 # j<=0 780 0 0 79 801 81# {i | 1<=i<=n; i=1} 823 4 83# i n 1 841 1 0 -1 # 1<=i 851 -1 1 0 # i<=n 860 1 0 -1 # i=1 870 0 0 88 892 90# {i | 1<=i<=n; i!=1} 913 4 92# i n 1 931 1 0 -1 # 1<=i 941 -1 1 0 # i<=n 951 1 0 -2 # i>=2 963 4 97# i n 1 981 1 0 -1 # 1<=i 991 -1 1 0 # i<=n 1001 -1 0 0 # i<=0 1010 0 0 102 1031 104# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k=1} 1057 6 106# i j k n 1 1071 1 0 0 0 -1 # 1<=i 1081 -1 0 0 1 0 # i<=n 1091 -1 1 0 0 -1 # i+1<=j 1101 0 -1 0 1 0 # j<=n 1111 0 0 1 0 -1 # 1<=k 1121 1 0 -1 0 -1 # k<=i-1 1130 0 0 1 0 -1 # k=1 1140 0 0 115 1162 117# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k!=1} 1187 6 119# i j k n 1 1201 1 0 0 0 -1 # 1<=i 1211 -1 0 0 1 0 # i<=n 1221 -1 1 0 0 -1 # i+1<=j 1231 0 -1 0 1 0 # j<=n 1241 0 0 1 0 -1 # 1<=k 1251 1 0 -1 0 -1 # k<=i-1 1261 0 0 1 0 -2 # k>=2 1277 6 128# i j k n 1 1291 1 0 0 0 -1 # 1<=i 1301 -1 0 0 1 0 # i<=n 1311 -1 1 0 0 -1 # i+1<=j 1321 0 -1 0 1 0 # j<=n 1331 0 0 1 0 -1 # 1<=k 1341 1 0 -1 0 -1 # k<=i-1 1351 0 0 -1 0 0 # k<=0 1360 0 0 137 1381 139# {i, j | 1<=i<=n; i+1<=j<=n; i=1} 1405 5 141# i j n 1 1421 1 0 0 -1 # 1<=i 1431 -1 0 1 0 # i<=n 1441 -1 1 0 -1 # i+1<=j 1451 0 -1 1 0 # j<=n 1460 1 0 0 -1 # i=1 1470 0 0 148 1492 150# {i, j | 1<=i<=n; i+1<=j<=n; i!=1} 1515 5 152# i j n 1 1531 1 0 0 -1 # 1<=i 1541 -1 0 1 0 # i<=n 1551 -1 1 0 -1 # i+1<=j 1561 0 -1 1 0 # j<=n 1571 1 0 0 -2 # i>=2 1585 5 159# i j n 1 1601 1 0 0 -1 # 1<=i 1611 -1 0 1 0 # i<=n 1621 -1 1 0 -1 # i+1<=j 1631 0 -1 1 0 # j<=n 1641 -1 0 0 0 # i<=0 1650 0 0 166 167# We want to let CLooG set the iterator names. 1680 169 1708 171# Scattering functions ORIGINAL SCHEDULING 1726 11 173# c1 c2 c3 c4 c5 c6 i j n 1 1740 1 0 0 0 0 0 -1 0 0 0 # i 1750 0 1 0 0 0 0 0 0 0 0 # 0 1760 0 0 1 0 0 0 0 -1 0 0 # j 1770 0 0 0 1 0 0 0 0 0 0 # 0 1780 0 0 0 0 1 0 0 0 0 0 # 0 1790 0 0 0 0 0 1 0 0 0 0 # 0 180 1816 11 182# c1 c2 c3 c4 c5 c6 i j n 1 1830 1 0 0 0 0 0 -1 0 0 0 # i 1840 0 1 0 0 0 0 0 0 0 0 # 0 1850 0 0 1 0 0 0 0 -1 0 0 # j 1860 0 0 0 1 0 0 0 0 0 -1 # 1 1870 0 0 0 0 1 0 0 0 0 0 # 0 1880 0 0 0 0 0 1 0 0 0 0 # 0 189 1906 10 191# c1 c2 c3 c4 c5 c6 i n 1 1920 1 0 0 0 0 0 -1 0 0 # i 1930 0 1 0 0 0 0 0 0 -1 # 1 1940 0 0 1 0 0 0 0 0 0 # 0 1950 0 0 0 1 0 0 0 0 0 # 0 1960 0 0 0 0 1 0 0 0 0 # 0 1970 0 0 0 0 0 1 0 0 0 # 0 198 1996 10 200# c1 c2 c3 c4 c5 c6 i n 1 2010 1 0 0 0 0 0 -1 0 0 # i 2020 0 1 0 0 0 0 0 0 -2 # 2 2030 0 0 1 0 0 0 0 0 0 # 0 2040 0 0 0 1 0 0 0 0 0 # 0 2050 0 0 0 0 1 0 0 0 0 # 0 2060 0 0 0 0 0 1 0 0 0 # 0 207 2086 12 209# c1 c2 c3 c4 c5 c6 i j k n 1 2100 1 0 0 0 0 0 -1 0 0 0 0 # i 2110 0 1 0 0 0 0 0 0 0 0 -3 # 3 2120 0 0 1 0 0 0 0 -1 0 0 0 # j 2130 0 0 0 1 0 0 0 0 0 0 0 # 0 2140 0 0 0 0 1 0 0 0 -1 0 0 # k 2150 0 0 0 0 0 1 0 0 0 0 0 # 0 216 2176 12 218# c1 c2 c3 c4 c5 c6 i j k n 1 2190 1 0 0 0 0 0 -1 0 0 0 0 # i 2200 0 1 0 0 0 0 0 0 0 0 -3 # 3 2210 0 0 1 0 0 0 0 -1 0 0 0 # j 2220 0 0 0 1 0 0 0 0 0 0 0 # 0 2230 0 0 0 0 1 0 0 0 -1 0 0 # k 2240 0 0 0 0 0 1 0 0 0 0 -1 # 1 225 2266 11 227# c1 c2 c3 c4 c5 c6 i j n 1 2280 1 0 0 0 0 0 -1 0 0 0 # i 2290 0 1 0 0 0 0 0 0 0 -3 # 3 2300 0 0 1 0 0 0 0 -1 0 0 # j 2310 0 0 0 1 0 0 0 0 0 -1 # 1 2320 0 0 0 0 1 0 0 0 0 0 # 0 2330 0 0 0 0 0 1 0 0 0 0 # 0 234 2356 11 236# c1 c2 c3 c4 c5 c6 i j n 1 2370 1 0 0 0 0 0 -1 0 0 0 # i 2380 0 1 0 0 0 0 0 0 0 -3 # 3 2390 0 0 1 0 0 0 0 -1 0 0 # j 2400 0 0 0 1 0 0 0 0 0 -2 # 2 2410 0 0 0 0 1 0 0 0 0 0 # 0 2420 0 0 0 0 0 1 0 0 0 0 # 0 243 2441 # We want to set the scatering dimension names. 245c1 c2 c3 c4 c5 c6 246