1--TEST--
2Bug #54055: PHP crashes when executing strval when precision setting is very high
3--FILE--
4<?php
5for($i = 495; $i <= 1074; $i++) {
6  ini_set('precision', $i);
7  echo "$i: len=", strlen(strval(-1 * pow(2, -1074))), "\n";
8}
9?>
10--EXPECT--
11495: len=502
12496: len=503
13497: len=504
14498: len=505
15499: len=506
16500: len=507
17501: len=507
18502: len=507
19503: len=507
20504: len=507
21505: len=507
22506: len=507
23507: len=507
24508: len=507
25509: len=507
26510: len=507
27511: len=507
28512: len=507
29513: len=507
30514: len=507
31515: len=507
32516: len=507
33517: len=507
34518: len=507
35519: len=507
36520: len=507
37521: len=507
38522: len=507
39523: len=507
40524: len=507
41525: len=507
42526: len=507
43527: len=507
44528: len=507
45529: len=507
46530: len=507
47531: len=507
48532: len=507
49533: len=507
50534: len=507
51535: len=507
52536: len=507
53537: len=507
54538: len=507
55539: len=507
56540: len=507
57541: len=507
58542: len=507
59543: len=507
60544: len=507
61545: len=507
62546: len=507
63547: len=507
64548: len=507
65549: len=507
66550: len=507
67551: len=507
68552: len=507
69553: len=507
70554: len=507
71555: len=507
72556: len=507
73557: len=507
74558: len=507
75559: len=507
76560: len=507
77561: len=507
78562: len=507
79563: len=507
80564: len=507
81565: len=507
82566: len=507
83567: len=507
84568: len=507
85569: len=507
86570: len=507
87571: len=507
88572: len=507
89573: len=507
90574: len=507
91575: len=507
92576: len=507
93577: len=507
94578: len=507
95579: len=507
96580: len=507
97581: len=507
98582: len=507
99583: len=507
100584: len=507
101585: len=507
102586: len=507
103587: len=507
104588: len=507
105589: len=507
106590: len=507
107591: len=507
108592: len=507
109593: len=507
110594: len=507
111595: len=507
112596: len=507
113597: len=507
114598: len=507
115599: len=507
116600: len=507
117601: len=507
118602: len=507
119603: len=507
120604: len=507
121605: len=507
122606: len=507
123607: len=507
124608: len=507
125609: len=507
126610: len=507
127611: len=507
128612: len=507
129613: len=507
130614: len=507
131615: len=507
132616: len=507
133617: len=507
134618: len=507
135619: len=507
136620: len=507
137621: len=507
138622: len=507
139623: len=507
140624: len=507
141625: len=507
142626: len=507
143627: len=507
144628: len=507
145629: len=507
146630: len=507
147631: len=507
148632: len=507
149633: len=507
150634: len=507
151635: len=507
152636: len=507
153637: len=507
154638: len=507
155639: len=507
156640: len=507
157641: len=507
158642: len=507
159643: len=507
160644: len=507
161645: len=507
162646: len=507
163647: len=507
164648: len=507
165649: len=507
166650: len=507
167651: len=507
168652: len=507
169653: len=507
170654: len=507
171655: len=507
172656: len=507
173657: len=507
174658: len=507
175659: len=507
176660: len=507
177661: len=507
178662: len=507
179663: len=507
180664: len=507
181665: len=507
182666: len=507
183667: len=507
184668: len=507
185669: len=507
186670: len=507
187671: len=507
188672: len=507
189673: len=507
190674: len=507
191675: len=507
192676: len=507
193677: len=507
194678: len=507
195679: len=507
196680: len=507
197681: len=507
198682: len=507
199683: len=507
200684: len=507
201685: len=507
202686: len=507
203687: len=507
204688: len=507
205689: len=507
206690: len=507
207691: len=507
208692: len=507
209693: len=507
210694: len=507
211695: len=507
212696: len=507
213697: len=507
214698: len=507
215699: len=507
216700: len=507
217701: len=507
218702: len=507
219703: len=507
220704: len=507
221705: len=507
222706: len=507
223707: len=507
224708: len=507
225709: len=507
226710: len=507
227711: len=507
228712: len=507
229713: len=507
230714: len=507
231715: len=507
232716: len=507
233717: len=507
234718: len=507
235719: len=507
236720: len=507
237721: len=507
238722: len=507
239723: len=507
240724: len=507
241725: len=507
242726: len=507
243727: len=507
244728: len=507
245729: len=507
246730: len=507
247731: len=507
248732: len=507
249733: len=507
250734: len=507
251735: len=507
252736: len=507
253737: len=507
254738: len=507
255739: len=507
256740: len=507
257741: len=507
258742: len=507
259743: len=507
260744: len=507
261745: len=507
262746: len=507
263747: len=507
264748: len=507
265749: len=507
266750: len=507
267751: len=507
268752: len=507
269753: len=507
270754: len=507
271755: len=507
272756: len=507
273757: len=507
274758: len=507
275759: len=507
276760: len=507
277761: len=507
278762: len=507
279763: len=507
280764: len=507
281765: len=507
282766: len=507
283767: len=507
284768: len=507
285769: len=507
286770: len=507
287771: len=507
288772: len=507
289773: len=507
290774: len=507
291775: len=507
292776: len=507
293777: len=507
294778: len=507
295779: len=507
296780: len=507
297781: len=507
298782: len=507
299783: len=507
300784: len=507
301785: len=507
302786: len=507
303787: len=507
304788: len=507
305789: len=507
306790: len=507
307791: len=507
308792: len=507
309793: len=507
310794: len=507
311795: len=507
312796: len=507
313797: len=507
314798: len=507
315799: len=507
316800: len=507
317801: len=507
318802: len=507
319803: len=507
320804: len=507
321805: len=507
322806: len=507
323807: len=507
324808: len=507
325809: len=507
326810: len=507
327811: len=507
328812: len=507
329813: len=507
330814: len=507
331815: len=507
332816: len=507
333817: len=507
334818: len=507
335819: len=507
336820: len=507
337821: len=507
338822: len=507
339823: len=507
340824: len=507
341825: len=507
342826: len=507
343827: len=507
344828: len=507
345829: len=507
346830: len=507
347831: len=507
348832: len=507
349833: len=507
350834: len=507
351835: len=507
352836: len=507
353837: len=507
354838: len=507
355839: len=507
356840: len=507
357841: len=507
358842: len=507
359843: len=507
360844: len=507
361845: len=507
362846: len=507
363847: len=507
364848: len=507
365849: len=507
366850: len=507
367851: len=507
368852: len=507
369853: len=507
370854: len=507
371855: len=507
372856: len=507
373857: len=507
374858: len=507
375859: len=507
376860: len=507
377861: len=507
378862: len=507
379863: len=507
380864: len=507
381865: len=507
382866: len=507
383867: len=507
384868: len=507
385869: len=507
386870: len=507
387871: len=507
388872: len=507
389873: len=507
390874: len=507
391875: len=507
392876: len=507
393877: len=507
394878: len=507
395879: len=507
396880: len=507
397881: len=507
398882: len=507
399883: len=507
400884: len=507
401885: len=507
402886: len=507
403887: len=507
404888: len=507
405889: len=507
406890: len=507
407891: len=507
408892: len=507
409893: len=507
410894: len=507
411895: len=507
412896: len=507
413897: len=507
414898: len=507
415899: len=507
416900: len=507
417901: len=507
418902: len=507
419903: len=507
420904: len=507
421905: len=507
422906: len=507
423907: len=507
424908: len=507
425909: len=507
426910: len=507
427911: len=507
428912: len=507
429913: len=507
430914: len=507
431915: len=507
432916: len=507
433917: len=507
434918: len=507
435919: len=507
436920: len=507
437921: len=507
438922: len=507
439923: len=507
440924: len=507
441925: len=507
442926: len=507
443927: len=507
444928: len=507
445929: len=507
446930: len=507
447931: len=507
448932: len=507
449933: len=507
450934: len=507
451935: len=507
452936: len=507
453937: len=507
454938: len=507
455939: len=507
456940: len=507
457941: len=507
458942: len=507
459943: len=507
460944: len=507
461945: len=507
462946: len=507
463947: len=507
464948: len=507
465949: len=507
466950: len=507
467951: len=507
468952: len=507
469953: len=507
470954: len=507
471955: len=507
472956: len=507
473957: len=507
474958: len=507
475959: len=507
476960: len=507
477961: len=507
478962: len=507
479963: len=507
480964: len=507
481965: len=507
482966: len=507
483967: len=507
484968: len=507
485969: len=507
486970: len=507
487971: len=507
488972: len=507
489973: len=507
490974: len=507
491975: len=507
492976: len=507
493977: len=507
494978: len=507
495979: len=507
496980: len=507
497981: len=507
498982: len=507
499983: len=507
500984: len=507
501985: len=507
502986: len=507
503987: len=507
504988: len=507
505989: len=507
506990: len=507
507991: len=507
508992: len=507
509993: len=507
510994: len=507
511995: len=507
512996: len=507
513997: len=507
514998: len=507
515999: len=507
5161000: len=507
5171001: len=507
5181002: len=507
5191003: len=507
5201004: len=507
5211005: len=507
5221006: len=507
5231007: len=507
5241008: len=507
5251009: len=507
5261010: len=507
5271011: len=507
5281012: len=507
5291013: len=507
5301014: len=507
5311015: len=507
5321016: len=507
5331017: len=507
5341018: len=507
5351019: len=507
5361020: len=507
5371021: len=507
5381022: len=507
5391023: len=507
5401024: len=507
5411025: len=507
5421026: len=507
5431027: len=507
5441028: len=507
5451029: len=507
5461030: len=507
5471031: len=507
5481032: len=507
5491033: len=507
5501034: len=507
5511035: len=507
5521036: len=507
5531037: len=507
5541038: len=507
5551039: len=507
5561040: len=507
5571041: len=507
5581042: len=507
5591043: len=507
5601044: len=507
5611045: len=507
5621046: len=507
5631047: len=507
5641048: len=507
5651049: len=507
5661050: len=507
5671051: len=507
5681052: len=507
5691053: len=507
5701054: len=507
5711055: len=507
5721056: len=507
5731057: len=507
5741058: len=507
5751059: len=507
5761060: len=507
5771061: len=507
5781062: len=507
5791063: len=507
5801064: len=507
5811065: len=507
5821066: len=507
5831067: len=507
5841068: len=507
5851069: len=507
5861070: len=507
5871071: len=507
5881072: len=507
5891073: len=507
5901074: len=507
591