The API-level functions are called drivers for the low-level operations. In many cases the low-level interface provides small pieces that together make an API function. The rationale behind this is to separate the parts that are platform-dependent from the parts that are not. The things belonging to the API layer can be separated into three distinct categories:

Argument validation and error handling.

Identifying simple or trivial cases (argument reduction).

Algorithmic parts of the operation, such as decomposition of morphological operations, block processing and alignment-dependent selection of low-level processing functions.

Everything that should be implemented differently on different platforms, i.e. SSE and non-SSE, belong to the low-level Compute domain. For more information about the RAPP API, see the RAPP User's Manual.