Do you have an example of a situation in which you'd want to cast the result of arithmetic intptr_t values to a pointer? The situations I can think of off the top of my head would be better done as arithmetic between pointers.
One example of using intptr_t would be going from a pointer passed to free() to a metadata block for the memory that must be freed.