Place the diagnostic carret below the arg being diagnosed.
Try to evaluate the arg in the derived function as integer. Negative values are now successfully evaluated.
Unneeded results to compare are causing false test failures. Derivable argument is determined only by an integer value (and not via a variable) and thus some of the results to compare need to be deleted.
Synchronize error messages with the Diagnostics system.