Repository: pytorch
Issue: JIT returns different values for `cos + frac` on cpu
Labels: oncall: jit,module: correctness (silent)

### 🐛 Describe the bug

JIT returns different values for `cos + frac` on cpu

```py
import torch

def fn(input):
    input = torch.cos(input)
    return torch.frac(input,)

input = torch.tensor(26.9859, device='cpu')

print(fn(input))

jit_frac = torch.jit.trace(fn, input)
print(jit_frac(input))
```

```
tensor(-0.2786)
tensor(0.7214)
```

By contrast, it has the same value on cuda

```py
import torch

def fn(input):
    input = torch.cos(input)
    return torch.frac(input,)

input = torch.tensor(26.9859, device='cuda')

print(fn(input))

jit_frac = torch.jit.trace(fn, input)
print(jit_frac(input))
```

```
tensor(-0.2786)
tensor(-0.2786)
```

More interestingly, if we split the operations, it will also return the correct value

```py
import torch

def fn(input):
    return torch.frac(input,)

input = torch.tensor(26.9859, device='cpu')
input = torch.cos(input)

print(fn(input))

jit_frac = torch.jit.trace(fn, input)
print(jit_frac(input))
```

```
tensor(-0.2786)
tensor(-0.2786)
```

---

Besides, JIT will also return different values for `sinh + cos`

```py
import torch

def fn(input):
    res = torch.sinh(input, )
    return torch.cos(res)

torch.random.manual_seed(58454)
input= torch.empty([4], dtype=torch.float32)
input.uniform_(-16, 7)

print(fn(input.clone()))

jit_fn = torch.jit.trace(fn, input)
print(jit_fn(input.clone()))
```

```
tensor([-0.1261,  0.9493,  0.3920,  0.9994])
tensor([-0.1261,  0.9493,  0.5037,  0.9994])
```

### Versions

```
PyTorch version: 1.13.0.dev20221001
Is debug build: False
CUDA used to build PyTorch: 11.7
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.1 LTS (x86_64)
GCC version: (Ubuntu 11.2.0-19ubuntu1) 11.2.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.35

Python version: 3.9.13 (main, Aug 25 2022, 23:26:10)  [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-5.19.5-051905-generic-x86_64-with-glibc2.35
Is CUDA available: True
CUDA runtime version: 11.7.99
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 3060
Nvidia driver version: 515.65.01
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

Versions of relevant libraries:
[pip3] numpy==1.23.3
[pip3] torch==1.13.0.dev20221001
[pip3] torchaudio==0.13.0.dev20221001
[pip3] torchvision==0.14.0.dev20221001
[conda] blas                      1.0                         mkl  
[conda] mkl                       2021.4.0           h06a4308_640  
[conda] mkl-service               2.4.0            py39h7f8727e_0  
[conda] mkl_fft                   1.3.1            py39hd3c417c_0  
[conda] mkl_random                1.2.2            py39h51133e4_0  
[conda] numpy                     1.23.3                   pypi_0    pypi
[conda] numpy-base                1.23.1           py39ha15fc14_0  
[conda] pytorch                   1.13.0.dev20221001 py3.9_cuda11.7_cudnn8.5.0_0    pytorch-nightly
[conda] pytorch-cuda              11.7                 h67b0de4_0    pytorch-nightly
[conda] pytorch-mutex             1.0                        cuda    pytorch-nightly
[conda] torch                     1.13.0.dev20220923+cu116          pypi_0    pypi
[conda] torchaudio                0.13.0.dev20220923+cu116          pypi_0    pypi
[conda] torchvision               0.14.0.dev20220923+cu116          pypi_0    pypi
```