Math with analog input values coming out wrong
Read this: Integer arithmetic and overflow.

float math = (5 + 6) / (4 + 5);
Serial.print("Math: ");
Serial.println(math);


The compiler is treating your expression (the RH side of the "=" sign) as integers. Thus it is working out:

11 / 9 = 1


Then you assign that 1 to a float. Too late to make it a float! It is already truncated.

Try:

float math = float (5 + 6) / float (4 + 5);
Serial.print("Math: ");
Serial.println(math, 4);  // 4 decimal places


You get:

Math: 1.2222




This also looks wrong:

while ( ( (frontleft + frontright) / (backleft + backright) &lt;= 0.8 ) || ( (frontleft + frontright) / (backleft + backright) &gt; 1.2) ) {
    if (backleft + backright &gt; frontleft + frontright) {
      myStepper2.step(10);
    }
    if (backleft + backright &lt; frontleft + frontright) {
      myStepper2.step(-10);
    }
    int backleft = analogRead(A0);
    int backright = analogRead(A1);
    int frontleft = analogRead(A2);
    int frontright = analogRead(A3);   


How many backleft variables do you have? The one in the while instruction will not be the one you are doing the analogRead on. It doesn't "forward read" variables. I bet you have a different frontleft / backleft etc. set of variables declared earlier. These will not be updated inside the loop.

(To make them get updated drop the word int from inside the loop).