https://github.com/abseil/abseil-cpp/issues/1824

--- abseil-cpp-20250127.1/absl/strings/charconv_test.cc.orig
+++ abseil-cpp-20250127.1/absl/strings/charconv_test.cc
@@ -180,31 +180,31 @@
 // cases will work even on compilers that do not accurately round floating point
 // literals.
 TEST(FromChars, NearRoundingCasesExplicit) {
-  EXPECT_EQ(ToDouble("5.e125"), ldexp(6653062250012735, 365));
-  EXPECT_EQ(ToDouble("69.e267"), ldexp(4705683757438170, 841));
-  EXPECT_EQ(ToDouble("999.e-026"), ldexp(6798841691080350, -129));
-  EXPECT_EQ(ToDouble("7861.e-034"), ldexp(8975675289889240, -153));
-  EXPECT_EQ(ToDouble("75569.e-254"), ldexp(6091718967192243, -880));
-  EXPECT_EQ(ToDouble("928609.e-261"), ldexp(7849264900213743, -900));
-  EXPECT_EQ(ToDouble("9210917.e080"), ldexp(8341110837370930, 236));
-  EXPECT_EQ(ToDouble("84863171.e114"), ldexp(4625202867375927, 353));
-  EXPECT_EQ(ToDouble("653777767.e273"), ldexp(5068902999763073, 884));
-  EXPECT_EQ(ToDouble("5232604057.e-298"), ldexp(5741343011915040, -1010));
-  EXPECT_EQ(ToDouble("27235667517.e-109"), ldexp(6707124626673586, -380));
-  EXPECT_EQ(ToDouble("653532977297.e-123"), ldexp(7078246407265384, -422));
-  EXPECT_EQ(ToDouble("3142213164987.e-294"), ldexp(8219991337640559, -988));
-  EXPECT_EQ(ToDouble("46202199371337.e-072"), ldexp(5224462102115359, -246));
-  EXPECT_EQ(ToDouble("231010996856685.e-073"), ldexp(5224462102115359, -247));
-  EXPECT_EQ(ToDouble("9324754620109615.e212"), ldexp(5539753864394442, 705));
-  EXPECT_EQ(ToDouble("78459735791271921.e049"), ldexp(8388176519442766, 166));
-  EXPECT_EQ(ToDouble("272104041512242479.e200"), ldexp(5554409530847367, 670));
-  EXPECT_EQ(ToDouble("6802601037806061975.e198"), ldexp(5554409530847367, 668));
+  EXPECT_EQ(ToDouble("5.e125"), ldexp(6653062250012735.0, 365));
+  EXPECT_EQ(ToDouble("69.e267"), ldexp(4705683757438170.0, 841));
+  EXPECT_EQ(ToDouble("999.e-026"), ldexp(6798841691080350.0, -129));
+  EXPECT_EQ(ToDouble("7861.e-034"), ldexp(8975675289889240.0, -153));
+  EXPECT_EQ(ToDouble("75569.e-254"), ldexp(6091718967192243.0, -880));
+  EXPECT_EQ(ToDouble("928609.e-261"), ldexp(7849264900213743.0, -900));
+  EXPECT_EQ(ToDouble("9210917.e080"), ldexp(8341110837370930.0, 236));
+  EXPECT_EQ(ToDouble("84863171.e114"), ldexp(4625202867375927.0, 353));
+  EXPECT_EQ(ToDouble("653777767.e273"), ldexp(5068902999763073.0, 884));
+  EXPECT_EQ(ToDouble("5232604057.e-298"), ldexp(5741343011915040.0, -1010));
+  EXPECT_EQ(ToDouble("27235667517.e-109"), ldexp(6707124626673586.0, -380));
+  EXPECT_EQ(ToDouble("653532977297.e-123"), ldexp(7078246407265384.0, -422));
+  EXPECT_EQ(ToDouble("3142213164987.e-294"), ldexp(8219991337640559.0, -988));
+  EXPECT_EQ(ToDouble("46202199371337.e-072"), ldexp(5224462102115359.0, -246));
+  EXPECT_EQ(ToDouble("231010996856685.e-073"), ldexp(5224462102115359.0, -247));
+  EXPECT_EQ(ToDouble("9324754620109615.e212"), ldexp(5539753864394442.0, 705));
+  EXPECT_EQ(ToDouble("78459735791271921.e049"), ldexp(8388176519442766.0, 166));
+  EXPECT_EQ(ToDouble("272104041512242479.e200"), ldexp(5554409530847367.0, 670));
+  EXPECT_EQ(ToDouble("6802601037806061975.e198"), ldexp(5554409530847367.0, 668));
   EXPECT_EQ(ToDouble("20505426358836677347.e-221"),
-            ldexp(4524032052079546, -722));
+            ldexp(4524032052079546.0, -722));
   EXPECT_EQ(ToDouble("836168422905420598437.e-234"),
-            ldexp(5070963299887562, -760));
+            ldexp(5070963299887562.0, -760));
   EXPECT_EQ(ToDouble("4891559871276714924261.e222"),
-            ldexp(6452687840519111, 757));
+            ldexp(6452687840519111.0, 757));
   EXPECT_EQ(ToFloat("5.e-20"), ldexpf(15474250, -88));
   EXPECT_EQ(ToFloat("67.e14"), ldexpf(12479722, 29));
   EXPECT_EQ(ToFloat("985.e15"), ldexpf(14333636, 36));
@@ -219,31 +219,31 @@
   EXPECT_EQ(ToFloat("596428896559.e20"), ldexpf(12333860, 82));
 
 
-  EXPECT_EQ(ToDouble("9.e-265"), ldexp(8168427841980010, -930));
-  EXPECT_EQ(ToDouble("85.e-037"), ldexp(6360455125664090, -169));
-  EXPECT_EQ(ToDouble("623.e100"), ldexp(6263531988747231, 289));
-  EXPECT_EQ(ToDouble("3571.e263"), ldexp(6234526311072170, 833));
-  EXPECT_EQ(ToDouble("81661.e153"), ldexp(6696636728760206, 472));
-  EXPECT_EQ(ToDouble("920657.e-023"), ldexp(5975405561110124, -109));
-  EXPECT_EQ(ToDouble("4603285.e-024"), ldexp(5975405561110124, -110));
-  EXPECT_EQ(ToDouble("87575437.e-309"), ldexp(8452160731874668, -1053));
-  EXPECT_EQ(ToDouble("245540327.e122"), ldexp(4985336549131723, 381));
-  EXPECT_EQ(ToDouble("6138508175.e120"), ldexp(4985336549131723, 379));
-  EXPECT_EQ(ToDouble("83356057653.e193"), ldexp(5986732817132056, 625));
-  EXPECT_EQ(ToDouble("619534293513.e124"), ldexp(4798406992060657, 399));
-  EXPECT_EQ(ToDouble("2335141086879.e218"), ldexp(5419088166961646, 713));
-  EXPECT_EQ(ToDouble("36167929443327.e-159"), ldexp(8135819834632444, -536));
-  EXPECT_EQ(ToDouble("609610927149051.e-255"), ldexp(4576664294594737, -850));
-  EXPECT_EQ(ToDouble("3743626360493413.e-165"), ldexp(6898586531774201, -549));
-  EXPECT_EQ(ToDouble("94080055902682397.e-242"), ldexp(6273271706052298, -800));
-  EXPECT_EQ(ToDouble("899810892172646163.e283"), ldexp(7563892574477827, 947));
-  EXPECT_EQ(ToDouble("7120190517612959703.e120"), ldexp(5385467232557565, 409));
+  EXPECT_EQ(ToDouble("9.e-265"), ldexp(8168427841980010.0, -930));
+  EXPECT_EQ(ToDouble("85.e-037"), ldexp(6360455125664090.0, -169));
+  EXPECT_EQ(ToDouble("623.e100"), ldexp(6263531988747231.0, 289));
+  EXPECT_EQ(ToDouble("3571.e263"), ldexp(6234526311072170.0, 833));
+  EXPECT_EQ(ToDouble("81661.e153"), ldexp(6696636728760206.0, 472));
+  EXPECT_EQ(ToDouble("920657.e-023"), ldexp(5975405561110124.0, -109));
+  EXPECT_EQ(ToDouble("4603285.e-024"), ldexp(5975405561110124.0, -110));
+  EXPECT_EQ(ToDouble("87575437.e-309"), ldexp(8452160731874668.0, -1053));
+  EXPECT_EQ(ToDouble("245540327.e122"), ldexp(4985336549131723.0, 381));
+  EXPECT_EQ(ToDouble("6138508175.e120"), ldexp(4985336549131723.0, 379));
+  EXPECT_EQ(ToDouble("83356057653.e193"), ldexp(5986732817132056.0, 625));
+  EXPECT_EQ(ToDouble("619534293513.e124"), ldexp(4798406992060657.0, 399));
+  EXPECT_EQ(ToDouble("2335141086879.e218"), ldexp(5419088166961646.0, 713));
+  EXPECT_EQ(ToDouble("36167929443327.e-159"), ldexp(8135819834632444.0, -536));
+  EXPECT_EQ(ToDouble("609610927149051.e-255"), ldexp(4576664294594737.0, -850));
+  EXPECT_EQ(ToDouble("3743626360493413.e-165"), ldexp(6898586531774201.0, -549));
+  EXPECT_EQ(ToDouble("94080055902682397.e-242"), ldexp(6273271706052298.0, -800));
+  EXPECT_EQ(ToDouble("899810892172646163.e283"), ldexp(7563892574477827.0, 947));
+  EXPECT_EQ(ToDouble("7120190517612959703.e120"), ldexp(5385467232557565.0, 409));
   EXPECT_EQ(ToDouble("25188282901709339043.e-252"),
-            ldexp(5635662608542340, -825));
+            ldexp(5635662608542340.0, -825));
   EXPECT_EQ(ToDouble("308984926168550152811.e-052"),
-            ldexp(5644774693823803, -157));
+            ldexp(5644774693823803.0, -157));
   EXPECT_EQ(ToDouble("6372891218502368041059.e064"),
-            ldexp(4616868614322430, 233));
+            ldexp(4616868614322430.0, 233));
 
   EXPECT_EQ(ToFloat("3.e-23"), ldexpf(9507380, -98));
   EXPECT_EQ(ToFloat("57.e18"), ldexpf(12960300, 42));