Incorrect gradient after divide operation when result contains inf
Hi @drewshark ,

Thanks for reporting this. I have replicated the reported behaviour and attached [gist](https://colab.research.google.com/gist/SuryanarayanaY/d16754b4df71e7e3242a78a43d11a51e/60965.ipynb) for reference.

It seems when 'x2' having '0' then only problem arising. If there is no '0' in 'x2' then the result is expected output only. This behaviour is bit strange for me and needs to be analysed.

Thanks!
<details><summary>Click to expand!</summary> 
 
 ### Issue Type

Bug

### Have you reproduced the bug with TF nightly?

Yes

### Source

binary

### Tensorflow Version

tf-nightly

### Custom Code

Yes

### OS Platform and Distribution

Ubuntu 20.04.5 LTS

### Mobile device

_No response_

### Python version

3.10.11

### Bazel version

_No response_

### GCC/Compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current Behaviour?

The gradient of `tf.experimental.numpy.divide` or simply `/` operator is incorrect when the division result contains `inf`. See example below, the gradient of `result[0]` with respect to `x1` should be `1/2` instead of `nan`.

### Standalone code to reproduce the issue

```shell
import tensorflow as tf
import numpy as np
x1 = tf.constant([3], dtype=tf.float32)
x2 = tf.constant([2, 3, 0, 1], dtype=tf.float32)
with tf.GradientTape() as tape:
  tape.watch(x1)
  tape.watch(x2)
  result = tf.experimental.numpy.divide(x1, x2)    # or result = x1 / x2
actual_grad = tape.jacobian(result, x1)
expected_grad = tf.constant([[1/2], [1/3], [np.inf], [1/1]])
print(actual_grad)
print(expected_grad)
actual_grad == expected_grad


See gist: https://colab.research.google.com/drive/1xbzvQ99nrEehhBabpgCSEiBMSh4qXojR?usp=sharing
```


### Relevant log output

```shell
tf.Tensor(
[[nan]
 [nan]
 [inf]
 [nan]], shape=(4, 1), dtype=float32)
tf.Tensor(
[[0.5       ]
 [0.33333334]
 [       inf]
 [1.        ]], shape=(4, 1), dtype=float32)
<tf.Tensor: shape=(4, 1), dtype=bool, numpy=
array([[False],
       [False],
       [ True],
       [False]])>
```
</details>