tf.experimental.numpy.fabs produces the wrong second derivative in combinations of ForwardAccumulator and tf.GradientTape
Hi @trickiwoo, apologies for the delay.
I was able to replicate the issue in Colab using TF v2.11. Please find the gist [here](https://colab.sandbox.google.com/gist/synandi/411295c65f63287aa3070ca3944eb389/60071.ipynb). It seems like we have to dig deep into the issue, we'll update here soon. Thank you!   `None` is a placeholder for uniformly zero. @trickiwoo , As per the above comment,` tf.experimental.numpy.fabs` is working as intended. Please fell free to close the issue. Thanks! This issue is stale because it has been open for 7 days with no activity. It will be closed if no further activity occurs. Thank you. Thanks! I am closing the issue as it is intended behavior. Are you satisfied with the resolution of your issue?
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=Yes&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/60071">Yes</a>
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=No&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/60071">No</a>

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

Bug

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

Yes

### Source

source

### Tensorflow Version

2.11

### Custom Code

Yes

### OS Platform and Distribution

_No response_

### Mobile device

_No response_

### Python version

_No response_

### Bazel version

_No response_

### GCC/Compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current Behaviour?

```shell
tf.experimental.numpy.fabs produce the wrong second derivative in combinations of ForwardAccumulator and tf.GradientTape. `fabs` is twice differentiable at `x` and it doesn't make sense to output None as the second derivate. The tf.GradientTape alone works well, but combining ForwardAccumulator and tf.GradientTape is memory-efficient for large tensors. It would be appreciated if fabs could support this combination.
```


### Standalone code to reproduce the issue

```shell
import tensorflow as tf
import tensorflow.experimental.numpy as np

x = tf.Variable([1.0, 2.0])

with tf.autodiff.ForwardAccumulator(x, tf.constant([1., 0.])) as acc:
  with tf.GradientTape() as tape:
    y = np.fabs(x)
  backward = tape.gradient(y, x)
forward = acc.jvp(backward)

print(backward)
print(forward)

with tf.GradientTape() as t2:
    with tf.GradientTape() as t1:
        y = np.fabs(x)
    dy_dx = t1.gradient(y, x)
d2y_dx2 = t2.gradient(dy_dx, x)
print(dy_dx)
print(d2y_dx2)
```


### Relevant log output

```shell
tf.Tensor([1. 1.], shape=(2,), dtype=float32)
None
tf.Tensor([1. 1.], shape=(2,), dtype=float32)
tf.Tensor([0. 0.], shape=(2,), dtype=float32)
```
</details>