`tf.math.log` thinks that -103 is -inf
I believe to solve your issue you can try:

`import tensorflow as tf
import numpy as np

eps_tf = tf.experimental.numpy.finfo(tf.float32).tiny
eps_np = np.finfo(np.float32).tiny

print(tf.math.log(eps_tf))
print(np.log(eps_np))
print(type(np.log(eps_np)))
` @AymenS02 I specifically need the smallest subnormal float, not the smallest normal float, for testing the precision limits of `log_softmax`.  I can solve my issue by using `np.log` instead of `tf.math.log`, this is not blocking my development; I just figured tf might want to fix this bug. Hi @JasonGross ,

I have replicated the reported behaviour and attaching [gist](https://colab.sandbox.google.com/gist/SuryanarayanaY/bd8b1206037bcf2fd64d22daa84f0299/62399.ipynb) for reference. 

Will escalate to concerned SME. Thanks! @JasonGross TF (and XLA in general) intentionally flushes subnormals to zero.  We do so at the start of every compute thread (on platforms that support such flushing) [[link](https://github.com/google/tsl/blob/a7362a4151095ad8cf8f9b65d1225fda62d11194/tsl/platform/threadpool.cc#L65)].  This significantly speeds up computations in most ML applications.  So it's somewhat intentional, and not something we're going to "fix". Ah, I see.  Makes sense, thanks for the explanation
### Issue type

Bug

### Have you reproduced the bug with TensorFlow Nightly?

No

### Source

binary

### TensorFlow version

unknown 2.12.0

### Custom code

No

### OS platform and distribution

Linux 5.15.0-67-generic #74~20.04.1-Ubuntu SMP Wed Feb 22 14:52:34 UTC 2023 x86_64 GNU/Linux

### Mobile device

_No response_

### Python version

3.11.4

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

TensorFlow can't seem to handle taking the log of tiny subnormal floats, even though numpy can.

(Sorry if this is already fixed, I haven't tested this on nightly.)

### Standalone code to reproduce the issue

```python
import tensorflow as tf
import numpy as np
eps = tf.experimental.numpy.finfo(tf.float32).smallest_subnormal
print(tf.math.log(eps))
print(np.log(eps))
print(type(np.log(eps)))
```
gives
```
tf.Tensor(-inf, shape=(), dtype=float32)
-103.27893
<class 'numpy.float32'>
```


### Relevant log output

_No response_