1  ! { dg-do  run }
2  ! { dg-options "-ffrontend-optimize" }
3  ! PR 81974 - this used to cause an ICE.
4
5  implicit none
6      COMPLEX(kind=kind(0d0)), DIMENSION(3, 3) :: R
7      REAL(kind=kind(0d0)), DIMENSION(3, 3)    :: M,a,b
8      complex(8), dimension(3,3) :: res, c
9      integer :: i, j, k
10      c = 0
11      call random_number(m)
12      call random_number(a)
13      call random_number(b)
14      r = cmplx(a, b, 8)
15      do k=1,3
16         do j=1,3
17            do i=1,3
18               c(k,j) = c(k,j) + conjg(r(i,k)) * m(i,j)
19            end do
20         end do
21      end do
22      res = MATMUL(TRANSPOSE(CONJG(R)), M)
23      if (any(abs(res-c) >= 1e-6)) STOP 1
24      c = 0
25      do k=1,3
26         do j=1,3
27            do i=1,3
28               c(i,k) = c(i,k) + m(i,j) * conjg(r(k,j))
29            end do
30         end do
31      end do
32      res = matmul(m, transpose(conjg(r)))
33      if (any(abs(res-c) >= 1e-6)) STOP 2
34      END
35