// Path: src/main/java/org/avmframework/objective/DistanceFunctions.java
// public class DistanceFunctions {
// 
//   public static double K = 1.0;
// 
//   public static double equals(boolean bool1, boolean bool2) {
//     if (bool1 == bool2) {
//       return 0;
//     }
//     return K;
//   }
// 
//   public static double equals(double num1, double num2) {
//     return Math.abs(num1 - num2) + K;
//   }
// 
//   public static double notEquals(boolean bool1, boolean bool2) {
//     if (bool1 != bool2) {
//       return 0;
//     }
//     return K;
//   }
// 
//   public static double notEquals(double num1, double num2) {
//     if (num1 == num2) {
//       return K;
//     }
//     return 0;
//   }
// 
//   public static double greaterThan(double num1, double num2) {
//     if (num1 > num2) {
//       return 0;
//     }
//     return (num2 - num1) + K;
//   }
// 
//   public static double greaterThanOrEquals(double num1, double num2) {
//     if (num1 >= num2) {
//       return 0;
//     }
//     return (num2 - num1) + K;
//   }
// 
//   public static double lessThan(double num1, double num2) {
//     if (num1 < num2) {
//       return 0;
//     }
//     return (num1 - num2) + K;
//   }
// 
//   public static double lessThanOrEquals(double num1, double num2) {
//     if (num1 <= num2) {
//       return 0;
//     }
//     return (num1 - num2) + K;
//   }
// }


import org.avmframework.objective.DistanceFunctions;
import java.util.LinkedList;
import java.util.List;
package org.avmframework.examples.inputdatageneration;



public class ExecutionTrace {

  protected List<BranchExection> branchExecutions = new LinkedList<>();

  public boolean isTrue(int id, boolean bool) {
    return equals(id, bool, true);
  }

  public boolean isFalse(int id, boolean bool) {
    return equals(id, bool, false);
  }

  public boolean equals(int id, boolean bool1, boolean bool2) {
    return equals(id, bool1 ? 1.0 : 0, bool2 ? 1.0 : 0);
  }

  public boolean equals(int id, double num1, double num2) {
    boolean outcome = (num1 == num2);
    double distanceToAlternative;
    if (outcome) {
// Path: src/main/java/org/avmframework/objective/DistanceFunctions.java
// public class DistanceFunctions {
// 
//   public static double K = 1.0;
// 
//   public static double equals(boolean bool1, boolean bool2) {
//     if (bool1 == bool2) {
//       return 0;
//     }
//     return K;
//   }
// 
//   public static double equals(double num1, double num2) {
//     return Math.abs(num1 - num2) + K;
//   }
// 
//   public static double notEquals(boolean bool1, boolean bool2) {
//     if (bool1 != bool2) {
//       return 0;
//     }
//     return K;
//   }
// 
//   public static double notEquals(double num1, double num2) {
//     if (num1 == num2) {
//       return K;
//     }
//     return 0;
//   }
// 
//   public static double greaterThan(double num1, double num2) {
//     if (num1 > num2) {
//       return 0;
//     }
//     return (num2 - num1) + K;
//   }
// 
//   public static double greaterThanOrEquals(double num1, double num2) {
//     if (num1 >= num2) {
//       return 0;
//     }
//     return (num2 - num1) + K;
//   }
// 
//   public static double lessThan(double num1, double num2) {
//     if (num1 < num2) {
//       return 0;
//     }
//     return (num1 - num2) + K;
//   }
// 
//   public static double lessThanOrEquals(double num1, double num2) {
//     if (num1 <= num2) {
//       return 0;
//     }
//     return (num1 - num2) + K;
//   }
// }


// Path: src/main/java/org/avmframework/examples/inputdatageneration/ExecutionTrace.java
import org.avmframework.objective.DistanceFunctions;
import java.util.LinkedList;
import java.util.List;

package org.avmframework.examples.inputdatageneration;



public class ExecutionTrace {

  protected List<BranchExection> branchExecutions = new LinkedList<>();

  public boolean isTrue(int id, boolean bool) {
    return equals(id, bool, true);
  }

  public boolean isFalse(int id, boolean bool) {
    return equals(id, bool, false);
  }

  public boolean equals(int id, boolean bool1, boolean bool2) {
    return equals(id, bool1 ? 1.0 : 0, bool2 ? 1.0 : 0);
  }

  public boolean equals(int id, double num1, double num2) {
    boolean outcome = (num1 == num2);
    double distanceToAlternative;
    if (outcome) {
      distanceToAlternative = DistanceFunctions.notEquals(num1, num2);