Expression for checking between two values

I am using an expression transform, to consolidate the simple math for a status tag.

The expression below is always 0, even though the value is 50 and the ideal min is 60. I was assuming that since that's false, it would jump to the next if. before I change this to a script transform, any suggestions on why the expression isn't working?

Bonus points if you have me get off of the awful if statement below. thanks!

if( {view.custom.ideal_min} <= {value} <= {view.custom.ideal_max}, 0,
	if( {view.custom.acceptable_min} <= {value} <= {view.custom.ideal_min}, -1,
		if( {value} <= {view.custom.acceptable_min}, -2,
			if( {view.custom.ideal_max} <= {value} <= {view.custom.acceptable_max}, 1,
				if( {value} >= {view.custom.acceptable_max}, 2, 999)
			)
		)
	)
)

I don't recall expression syntax supporting chained comparisons.