Straight line movement in a robot arm

This seems to work with every combination of numbers I throw at it, and I've tested it with the divided by 10 concept and it works. Should allow my to plot points every mm of a straight line.

[code]
// Bresenham line algorithm prints out from x1,y1 to x2,y2 in whole numbers
boolean executed = false;  // boolean variable to check if move is completed

int x1;
int y1;
float newx1;
float newy1;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(57600);

}

void loop() {
  // put your main code here, to run repeatedly:

  if (executed == false ) {
    Bresenham (65, -60, -50, 60);
    executed = true;
  }
}

void Bresenham(int x1, int y1, int const x2, int const y2)
{
  int delta_x = (x2 - x1);
  // if x1 == x2, then it does not matter what we set here
  signed char const ix((delta_x > 0) - (delta_x < 0));
  delta_x = abs(delta_x) << 1;

  int delta_y = (y2 - y1);
  // if y1 == y2, then it does not matter what we set here
  signed char const iy((delta_y > 0) - (delta_y < 0));
  delta_y = abs(delta_y) << 1;

  plot(x1, y1);

  if (delta_x >= delta_y)
  {
    // error may go below zero
    int error = (delta_y - (delta_x >> 1));

    while (x1 != x2)
    {
      // reduce error, while taking into account the corner case of error == 0
      if ((error > 0) || (!error && (ix > 0)))
      {
        error -= delta_x;
        y1 += iy;
      }
      // else do nothing

      error += delta_y;
      x1 += ix;

      plot(x1, y1);

    }
  }
  else
  {
    // error may go below zero
    int error = (delta_x - (delta_y >> 1));

    while (y1 != y2)
    {
      // reduce error, while taking into account the corner case of error == 0
      if ((error > 0) || (!error && (iy > 0)))
      {
        error -= delta_y;
        x1 += ix;
      }
      // else do nothing

      error += delta_x;
      y1 += iy;

      plot(x1, y1);



    }
  }
}

void plot(int x1, int y1) {
  float newx1 = (float)x1 / 10.0;
  float newy1 = (float)y1 / 10.0;
  Serial.print ("x1= ");
  Serial.print (newx1);
  Serial.print ("  y1 = ");
  Serial.println (newy1);

}

[/code]