File1: #include <stdio.h>\nint main(int argc, char* argv[])\n{\n  int i;\n  int len=100;\n  int a[100], b[100];\n\n  for (i=0;i<len;i++)\n  {\n    a[i]=i;\n    b[i]=i+1;\n  }\n\n#pragma omp simd \n  for (i=0;i<len-1;i++)\n    a[i+1]=a[i]+b[i];\n\n  for (i=0;i<len;i++)\n    printf("i=%d a[%d]=%d\n",i,i,a[i]);\n  return 0;\n}\n
File2: program DRB024_simdtruedep_orig_yes\n    use omp_lib\n    implicit none\n\n    integer :: i, len\n    integer, dimension(:), allocatable :: a\n    integer, dimension(:), allocatable :: b\n\n    len = 100\n\n    allocate (a(len))\n    allocate (b(len))\n\n    do i = 1, len\n        a(i) = i\n        b(i) = i+1\n    end do\n\n    !$omp simd\n    do i = 1, len-1\n        a(i+1) = a(i) + b(i)\n    end do\n\n    do i = 1, len\n        write(6,*) 'Values for i and a(i) are:', i, a(i)\n    end do\n\n    deallocate(a,b)\nend program