program log_sinh_inverse implicit none integer :: i, n real :: x, y, a, b, f ! Define the size of the data series n = 100 ! Read in the parameters a and b read (unit=*, fmt=*) a, b ! Read in the data series do i = 1, n read (unit=*, fmt=*) y(i) f = exp(b * y(i)) x(i) = (asinh((f - 1) / (f + 1)) - a) / b end do ! Output the calculated values of x do i = 1, n write (unit=*, fmt=*) x(i) end do end program log_sinh_inverse