<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/88309>88309</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Intrinsic SUM on REAL(4) type array produce incorrect result.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
flang:ir,
flang:runtime
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DanielCChen
</td>
</tr>
</table>
<pre>
It seems intrinsic SUM produce a different (incorrect) result.
```
integer, parameter :: u = 5794, k = 4
real(k) :: a(u)
real(k) :: s
do i = 1, u
a(i) = real(i)
end do
s = sum(a)
write (6,'(F16.7)') s
s = 0.
do i = 1, u
s = s + a(i)
end do
write (6,'(F16.7)') s
end
> a.out
16788116.0000000
16788114.0000000
```
The output is supposed to be the same.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU9tunEAM_RrzYgUNBpbhgYfNbpAitS-9fMAAXpgGGDSXVvn7Cpak2bRqVYSMbOzj4_Ec5ZzuZ-YK8nvIz5EKfjC2OqtZ83g6DTxHjemeq0ePjnlyqGdv9ex0i5-_fsTFmi60jAo7fbmw5dkjkNRza6zl1gOVaNmF0ccgziCOuz2I_d3cFZR7tkAnXJRVE3u2COkR0iMGhPSMeVFm6--nzcv2OrSsRiD5tPbZ8xWQDEDlX1LcWy6InUG9wSZrh_ASxg1KX-vOLzj6DTTPHXbmFsxtyS5MQFK9yf1htef1bA5AJ6ACSNbJIS7WlNUr37O6Aon4nyz3jgh0_8r4Twz_gwPP3c26rjZ9QBWb4K9uciikTJJDLK7PTTS7jb7b99V-GRhN8EvwqB26sCzGcYfeYMPoB0anJt7Hj7oq7cq0VBFXSZFQUeRJIqOhKi5d1spDeWmULFXDpWzzTqQ5K3WRTdtGuiJBmcgSkcg8yWUsc84L0TZcsMwktZAJnpQe43H8PsXG9pF2LnAlZSrKaFQNj25TB1ETeiDazo4uo5p7SI_a_hayYfZ64jWenyNbrcB3TegdZGLUzrtfrbz246a9eqvNz_h4oy8z46eH4wcgma3r8c8Lo7JWPb8q71VqLzqLgh2rwfvFrbedaqC6134ITdyaCahee--fu8Wab5tK621mB1RvY_8MAAD__xhLH4c">