start rewrite to use DiffProgramFragments
simple derivatives seem to work
add derivative of Log