Program: 131390
Project: 131390
Buggy source:
public void testBinaryOperation(BinOp lambda){
  double x, y;
  x=1;
  y=1;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=11.11;
  y=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=-11.11;
  y=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=11.11;
  y=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=-11.11;
  y=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=11.11;
  x=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-11.11;
  x=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=11.11;
  x=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-11.11;
  x=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=0.11;
  y=0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=-0.11;
  y=0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=0.11;
  y=-0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=-0.11;
  y=-0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=0.11;
  x=0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-0.11;
  x=0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=0.11;
  x=-0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-0.11;
  x=-0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=Double.POSITIVE_INFINITY;
  y=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=Double.NEGATIVE_INFINITY;
  y=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=Double.POSITIVE_INFINITY;
  y=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=Double.NEGATIVE_INFINITY;
  y=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=Double.POSITIVE_INFINITY;
  x=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=Double.NEGATIVE_INFINITY;
  x=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=Double.POSITIVE_INFINITY;
  x=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=Double.NEGATIVE_INFINITY;
  x=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  for (int i=0; i < NUM_RANDS; i++) {
    x=Gaussian.nextDouble(0.0,1000);
    y=Gaussian.nextDouble(0.0,1000);
    assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-5);
  }
}

Fixed version (ground truth):
public void testBinaryOperation(BinOp lambda){
  double x, y;
  x=1;
  y=1;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=11.11;
  y=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=-11.11;
  y=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=11.11;
  y=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=-11.11;
  y=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=11.11;
  x=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-11.11;
  x=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=11.11;
  x=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-11.11;
  x=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  double abs=13.1313;
  y=abs;
  x=-abs;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=abs;
  x=abs;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-abs;
  x=abs;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-abs;
  x=-abs;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=0.11;
  y=0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=-0.11;
  y=0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=0.11;
  y=-0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=-0.11;
  y=-0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=0.11;
  x=0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-0.11;
  x=0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=0.11;
  x=-0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=-0.11;
  x=-0.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=Double.POSITIVE_INFINITY;
  y=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=Double.NEGATIVE_INFINITY;
  y=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=Double.POSITIVE_INFINITY;
  y=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  x=Double.NEGATIVE_INFINITY;
  y=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=Double.POSITIVE_INFINITY;
  x=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=Double.NEGATIVE_INFINITY;
  x=44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=Double.POSITIVE_INFINITY;
  x=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  y=Double.NEGATIVE_INFINITY;
  x=-44.44;
  assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-13);
  for (int i=0; i < NUM_RANDS; i++) {
    x=Gaussian.nextDouble(0.0,1000);
    y=Gaussian.nextDouble(0.0,1000);
    assertEquals(compute(lambda,x,y,sReal),compute(lambda,x,y,sLog),1e-5);
  }
}