Map() function for curve

Thanks. I think I will need to do it with variables though, as my high and low limits can change, depending on other factors (READING is from neutralVal to MaxVal rather than 0 to 1024) . I think it shouldn't be a problem though. Would this do it?

unsigned long reading = analogRead(inputPin); 
unsigned long SQneutral = NeutralVal * NeutralVal;
unsigned long SQmax = MaxVal * MaxVal;
reading = reading * reading; 

reading = map(reading, SQNeutral, SQmax, 0, 799);