That's on the right path. One main property in GP is the sufficiency property, which says the elements in the domain should be enough to solve the problem.
Check the range of your variables.
If want to keep min as the root of your tree it's preferable to apply that in the fitness function, however, if GP finds an individual better that one having the gp_min as the root then it would be preferable to eliminate that restriction.