message: Workaround for Mul with the same runtime input(A*A).
diff: @@ -1131,6 +1131,17 @@ class MulOperationParser : public TFLiteOperationParser {
  // The "larger" input tensor must be bound to 1st input and the "smaller"
  // input tensor ("mask") must be bound to 2nd input.
  if (runtime_tensor0 && runtime_tensor1) {
  + if (input0 == input1) {
  + // replace MUL(A, A) with POW(A, 2.0)
  + // TODO(b/166831113): Support the same inputs for operations.
  + node->operation.type = ToString(OperationType::POW);
  + ElementwiseAttributes attr;
  + attr.param = 2.0f;
  + node->operation.attributes = std::move(attr);
  + RETURN_IF_ERROR(reader->AddInput(node, 0));
  + return reader->AddOutputs(node);
  + }
  +
  BHWC shape0;
  RETURN_IF_ERROR(ExtractTensorShape(*input0, &shape0));
  BHWC shape1;
  