Wrong answer for 9**17

  • Lazarus 3.6 (rev lazarus_3_6) FPC 3.2.2 x86_64-win64-win32/win64
  • Windows 11 Famille, Version 23H2, Build 22631.4751, N° Série PF3MZH6D, Experience 1000.22700.1055.0
  • AMD Ryzen 7 5700U with Radeon Graphics 1.80 GHz, Système d’exploitation 64 bits, processeur x64

What happens

917 gives 16677181699666568 faux! 9*916 gives 16677181699666569 correct.

What did you expect

Correction.

Steps to reproduce

var
tf: TextFile;
Begin
AssignFile(tf, Extractfilepath(application.exename)+'Bug.txt');
rewrite(tf);
WriteLn(tf,9*9**16);
WriteLn(tf,9**17);
WriteLn(tf,9*9**16 - 9**17);
CloseFile(tf);
End;
Edited by Gérard FROGER