(root)/
gcc-13.2.0/
gcc/
testsuite/
gfortran.dg/
set_exponent_1.f90
! { dg-do run }
! PR fortran/109511
! Check compile-time simplification of SET_EXPONENT against runtime

program exponent
  implicit none
  integer :: i
  i = 0
  print *, i, set_exponent(1., 0), set_exponent(1., i)
  if (set_exponent(1., 0) /= set_exponent(1., i)) stop 1
  i = 1
  print *, i, set_exponent(1., 1), set_exponent(1., i)
  if (set_exponent(1., 1) /= set_exponent(1., i)) stop 2
  i = 2
  print *, i, set_exponent(-1.75, 2), set_exponent(-1.75, i)
  if (set_exponent(-1.75, 2) /= set_exponent(-1.75, i)) stop 3
  print *, i, set_exponent(0.1875, 2), set_exponent(0.1875, i)
  if (set_exponent(0.1875, 2) /= set_exponent(0.1875, i)) stop 4
  i = 3
  print *, i, set_exponent(0.75, 3), set_exponent(0.75, i)
  if (set_exponent(0.75, 3) /= set_exponent(0.75, i)) stop 5
  i = 4
  print *, i, set_exponent(-2.5, 4), set_exponent(-2.5, i)
  if (set_exponent(-2.5, 4) /= set_exponent(-2.5, i)) stop 6
  i = -1
  print *, i, set_exponent(1., -1), set_exponent(1., i)
  if (set_exponent(1., -1) /= set_exponent(1., i)) stop 7
  i = -2
  print *, i, set_exponent(1.125, -2), set_exponent(1.125, i)
  if (set_exponent(1.125, -2) /= set_exponent(1.125, i)) stop 8
  print *, i, set_exponent(-0.25, -2), set_exponent(-0.25, i)
  if (set_exponent(-0.25, -2) /= set_exponent(-0.25, i)) stop 9
  i = -3
  print *, i, set_exponent(0.75, -3), set_exponent(0.75, i)
  if (set_exponent(0.75, -3) /= set_exponent(0.75, i)) stop 10
end program exponent