code: def generate_algebra_simplify_sample(vlist, ops, min_depth, max_depth):
    
    depth = random.randrange(min_depth, max_depth + 1)
    expr = random_expr(depth, vlist, ops)
  
    sample = str(expr)
    target = format_sympy_expr(sympy.simplify(sample))
    return sample, target
docs: Randomly generate an algebra simplify dataset sample.
  
    Given an input expression, produce the simplified expression.
  
    Args:
      vlist: Variable list. List of chars that can be used in the expression.
      ops: List of ExprOp instances. The allowed operators for the expression.
      min_depth: Expression trees will not have a smaller depth than this. 0 means
          there is just a variable. 1 means there is one operation.
      max_depth: Expression trees will not have a larger depth than this. To make
          all trees have the same depth, set this equal to `min_depth`.
  
    Returns:
      sample: String representation of the input.
      target: String representation of the solution.