initial documentation modifications
diff --git a/tensorflow/python/ops/math_ops.py b/tensorflow/python/ops/math_ops.py
index 606cb97..c01e491 100644
--- a/tensorflow/python/ops/math_ops.py
+++ b/tensorflow/python/ops/math_ops.py
@@ -533,6 +533,30 @@
 @tf_export("math.subtract", "subtract")
 @dispatch.add_dispatch_support
 def subtract(x, y, name=None):
+  """Returns x - y element-wise.
+
+  *Note*: Subtract supports broadcasting. More about broadcasting 
+  [here](https://numpy.org/doc/stable/user/basics.broadcasting.html)
+  
+  For example:
+  Both input and output have a range `(-inf, inf)`.
+
+  # `x` and `y` are tensors of shape (1)
+  >>> x = tf.constant([1.0, -1.0, 5.0, -2.0, 0.0])
+  >>> y = tf.constant([5.0, 1.0, 3.7, -19.9, float("inf")])
+  >>> tf.subtract(x,y)
+  <tf.Tensor: shape=(5,), dtype=float32, numpy=
+  array([-4. , -2. ,  1.3, 17.9, -inf], dtype=float32)>
+
+  Args:
+    x: A `Tensor`. Must be one of the following types: `bfloat16`, `half`, 
+    `float32`, `float64`, `uint8`, `int8`, `int16`, `int32`, `int64`, `complex64`, 
+    `complex128`, `string`.
+    y: A `Tensor`. Must have the same type as x.
+    name: A name for the operation (optional).
+  Returns:
+    A `Tensor`. Has the same type as x.
+  """
   return gen_math_ops.sub(x, y, name)
 
 
@@ -4927,3 +4951,91 @@
     A `tf.Tensor`. Has the same type as `x`.
   """
   return gen_math_ops.rsqrt(x, name)
+
+
+@tf_export("math.add", v1=["math.add","add"])
+@deprecation.deprecated_endpoints("add")
+@dispatch.add_dispatch_support
+def add(x,y,name=None):
+  """Returns x + y element-wise.
+
+  *NOTE*: `Add` supports broadcasting. `AddN` does not. More about broadcasting
+  [here](http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html)
+
+  Given two input tensors, the `tf.add` operation computes the sum for every element in the tensor.
+
+  For example:
+  Both input and output have a range `(-inf, inf)`.
+
+  # `x` and `y` are tensors of shape (1)
+  >>> x = tf.constant([1.0, -1.0, 5.0, -2.0, 0.0])
+  >>> y = tf.constant([5.0, 1.0, 3.7, -19.9, float("inf")])
+  >>> tf.add(x,y)
+  <tf.Tensor: shape=(5,), dtype=float32, numpy=
+  array([  6. ,   0. ,   8.7, -21.9,   inf], dtype=float32)>
+  
+  Args:
+    x: A `Tensor`. Must be one of the following types: `bfloat16`, `half`, 
+    `float32`, `float64`, `uint8`, `int8`, `int16`, `int32`, `int64`, `complex64`, 
+    `complex128`, `string`.
+    y: A `Tensor`. Must have the same type as x.
+    name: A name for the operation (optional).
+  Returns:
+    A `Tensor`. Has the same type as x.
+  """
+  return gen_math_ops.add(x,y,name)
+
+
+@tf_export("math.acos", v1=["math.acos","acos"])
+@deprecation.deprecated_endpoints("acos")
+@dispatch.add_dispatch_support
+def acos(x,name=None):
+  """Computes acos of x element-wise.
+
+  Provided an input tensor, the `tf.math.acos` operation returns the inverse cosine of 
+  each element of the tensor. If `y = tf.math.cos(x)` then, `x = tf.math.acos(y)`. 
+
+  Input range is `[-1, 1]` and the output has a range of `[0, pi]`.
+
+  For example:
+
+  # `x` is a tensor of the shape(1)
+  >>> x = tf.constant([1.0, -0.5, 3.4, 0.2, 0.0, -2], dtype = tf.float32)
+  >>> tf.math.acos(x)
+  <tf.Tensor: shape=(6,), dtype=float32, numpy=
+  array([0. , 2.0943952, nan, 1.3694383, 1.5707964, nan],
+      dtype=float32)>
+
+  Args:
+    x: A `Tensor`. Must be one of the following types: `bfloat16`, `half`, 
+    `float32`, `float64`, `uint8`, `int8`, `int16`, `int32`, `int64`, `complex64`, 
+    `complex128`, `string`.
+    name: A name for the operation (optional).
+  Returns:
+    A `Tensor`. Has the same type as x.
+  """
+  return gen_math_ops.acos(x,name)
+
+
+@tf_export("math.floor", v1=["math.floor","floor"])
+@deprecation.deprecated_endpoints("floor")
+@dispatch.add_dispatch_support
+def floor(x,name=None):
+  """Returns element-wise largest integer not greater than x.
+  
+  Both input range is `(-inf,inf)` and the ouput range is all integer values.
+  
+  For example:
+
+  >>> x = tf.constant([1.3324, -1.5, 5.555, -2.532, 0.99, float("inf")]) 
+  >>> tf.floor(x)
+  <tf.Tensor: shape=(6,), dtype=float32, numpy=
+  array([ 1., -2.,  5., -3.,  0., inf], dtype=float32)>
+  
+  Args:
+    x:  A `Tensor`. Must be one of the following types: `bfloat16`, `half`, `float32`, `float64`.
+    name: A name for the operation (optional).
+  Returns:
+    A `Tensor`. Has the same type as x.
+  """
+  return gen_math_ops.floor(x,name)
\ No newline at end of file