Presently there are limits of automatic differentiation for the use in exploration geophysical problems. In order to be useful for automatic differentiation of algorithms a preprocessor has to satisfy the following 3 requirements:

- 1
- Since seismic data usually consists of discrete numbers, the preprocessor must allow us to numerically evaluate a given function by supplying either the function or general rule for numerically differentiating the function.
- 2
- Because many algorithms are written as a bundle of subroutine calls, the data dependency analysis must be able to differentiate the subroutines recursively.
- 3
- Index lookup has to be recognized as a numerical function that can be
differentiated. (This requirement is closely related to the first.)
For example,
*data*(*it*,*ix*) must be recognized as a discrete function*d*(*t*,*x*) that can be differentiated.

Preprocessors that meet these requirements
would be an extremely useful tool for differentiation of algorithms
in exploration geophysics. At present I am in contact with the authors of
*Padre2* and *JAKEF*
discussing the implementation of the enumerated requirements.

11/18/1997