module imospray {                   # inverse moveout and spray into a gather.
use hypotenusei
real :: x0,dx, t0,dt
integer :: nx,nt
#%  _init (slow, x0,dx, t0,dt, nt,nx)
		real slow
		x0 = x0*slow
		dx = dx*slow
#% _lop(  stack(nt),    gather(nt,nx))
integer ix, stat

do ix= 1, nx {
	call hypotenusei_init ( nt, t0, dt, x0 + dx*(ix-1))

        stat = hypotenusei_lop ( adj, .true., stack, gather(:,ix))
        }
call hypotenusei_close ()
}
