I went ahead and checked the Heaviside out, and was struck at first by how much it matched my existence values. The only difference in how they're graphed is that my values don't have the 1/2 as the output at p, but that could easily be changed by removing the part about when x equals p = 1/2 so they're identical, so I see what you're getting at. I guess the logic behind what I'm doing with these, the whole greater than/less than bits that allow parts of functions to exist or be destroyed, has been done before (bummer), but what the heaviside doesn't do is the exact reason why I created these values - the heaviside defines boundaries off to the side rather than having it explicitly in the function. Maybe that's just me being picky, but without this idea, I'd just use regular ol' piecewises. I really appreciate the help, though. At least now I know some of this road has already been paved.