<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/149954>149954</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [MLIR]`tosa.exp` on large constant produces inf
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          sweead
      </td>
    </tr>
</table>

<pre>
    test commit: [f3a3270](https://github.com/llvm/llvm-project/commit/f3a3270dbca3649b7d56aaa42cb8481fb34e2d67)

## Description:

When applying `tosa.exp` to a large constant value such as 187.84, the resulting value becomes `inf` due to floating-point overflow. 

## Steps to Reproduce:

### Minimal MLIR program (test.mlir):

```
module {
  func.func private @printMemrefF32(tensor<*xf32>)
  func.func @main() {
    %0 = "tosa.const"() <{values = dense<1.878400e+02> : tensor<f32>}> : () -> tensor<f32>
    %1 = tosa.exp %0 : (tensor<f32>) -> tensor<f32>
    %cast = tensor.cast %1 : tensor<f32> to tensor<*xf32>
    call @printMemrefF32(%cast) : (tensor<*xf32>) -> ()
    return
 }
}
```

### Command:
```
mlir-opt test.mlir  --tosa-to-linalg-pipeline --sparsifier |  \
mlir-runner -e main -entry-point-result=void -shared-libs=/home/workdir/llvm-project/build/lib/libmlir_runner_utils.so
```
### Output:
```
[inf]
```


</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVF2L6zYQ_TWTl8FGGdmx85CHfDRQ6FK4fejjRbbHiVpZMpKcvfvvi-wk3d27UApGQfHxmTNHo6NC0BfLvIPyAOVppaZ4dX4XXplVt2pc97aLHCK2bhh0BLlHKA-9VJIqAeUJqL7GOAaQe6Az0Pmi43Vq8tYNQGdjbo-fbPTuL24j0PlORec7Tde0Sm6KbVN15UYpVVDb1EW97htZMHWbCmgLYp8ekkASTxxar8eonU1151d_XtmiGkfzpu0FYSOiCyrnHyNsBEaHCo3yF8bW2RCVjXhTZmIMU3tFFXBdV3ldAB0xXhk9h8nERLSgGm7dwCHRatsnxm7ixNobpxIuG522Ed2NfW_ca44f9P4ReQwJ_o1H77qp5afsBZFAL9rqQRl8-e3Xbzh6d_FqQKA6uZ8PRvvkwvOzjbg_Yj-4bjKMUB1A7BH7ybZ5WnD0-qYiIxRi9NrGFx4892dJM6sNzoM8Au1_9JJA_rK4_J4ACjEobYFqoO2zACJQKRDkCYFotnk2FYgeSHmE6jBbF2ZcxzYwyOM6r6u6EIKBDiLVxDRQTy13HdXp8ebOl6X9Z9RTynou8Tjuh7g9vu_y2eF_cLUqxIVuRuTLfqnxk9B0ol_5uLC1ypgvrb-XWYz6KPPDYSxSFwvunJ7j5G3aJJPE_r6-G4YPI3V0w6Bsd5-a9yNjtM_cGPE5XIhZlizMosuMtspcslGPbLRlzLIwKh90r9kjVEdEKI8PFj9Zyx4zxjQqmLGN_m25DtlyjUCebk53mIWr8txlRjcB5AnofHUDA51fnf-7S_P9OSiaSZsu_a2bZU0Vvy8Vv09Rm5AH99mAZ_e_T3Gc4s_NQ3lIl7j8wrpVt5PdVm7VinfrqpTrksqtXF13TVv29aZR9aahnqpatCSqpiqaetNSWW1XekeCSlERCSq2pcwLkkVXciO5awQVNRSCB6VNnnrMnb-sdAgT79bFdlsWK6MaNmEOYaLltlOKY7-bPWmmS4BCGB1i-Jch6mjm4E6ZkRr6mHrOfs68e_oE1LZfTd7s_nd2z6ID0Pmu-7ajfwIAAP__r8bXlg">