added source from C-Reduce to use to inline functions