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--EXPECT--
10495: len=502
11496: len=503
12497: len=504
13498: len=505
14499: len=506
15500: len=507
16501: len=507
17502: len=507
18503: len=507
19504: len=507
20505: len=507
21506: len=507
22507: len=507
23508: len=507
24509: len=507
25510: len=507
26511: len=507
27512: len=507
28513: len=507
29514: len=507
30515: len=507
31516: len=507
32517: len=507
33518: len=507
34519: len=507
35520: len=507
36521: len=507
37522: len=507
38523: len=507
39524: len=507
40525: len=507
41526: len=507
42527: len=507
43528: len=507
44529: len=507
45530: len=507
46531: len=507
47532: len=507
48533: len=507
49534: len=507
50535: len=507
51536: len=507
52537: len=507
53538: len=507
54539: len=507
55540: len=507
56541: len=507
57542: len=507
58543: len=507
59544: len=507
60545: len=507
61546: len=507
62547: len=507
63548: len=507
64549: len=507
65550: len=507
66551: len=507
67552: len=507
68553: len=507
69554: len=507
70555: len=507
71556: len=507
72557: len=507
73558: len=507
74559: len=507
75560: len=507
76561: len=507
77562: len=507
78563: len=507
79564: len=507
80565: len=507
81566: len=507
82567: len=507
83568: len=507
84569: len=507
85570: len=507
86571: len=507
87572: len=507
88573: len=507
89574: len=507
90575: len=507
91576: len=507
92577: len=507
93578: len=507
94579: len=507
95580: len=507
96581: len=507
97582: len=507
98583: len=507
99584: len=507
100585: len=507
101586: len=507
102587: len=507
103588: len=507
104589: len=507
105590: len=507
106591: len=507
107592: len=507
108593: len=507
109594: len=507
110595: len=507
111596: len=507
112597: len=507
113598: len=507
114599: len=507
115600: len=507
116601: len=507
117602: len=507
118603: len=507
119604: len=507
120605: len=507
121606: len=507
122607: len=507
123608: len=507
124609: len=507
125610: len=507
126611: len=507
127612: len=507
128613: len=507
129614: len=507
130615: len=507
131616: len=507
132617: len=507
133618: len=507
134619: len=507
135620: len=507
136621: len=507
137622: len=507
138623: len=507
139624: len=507
140625: len=507
141626: len=507
142627: len=507
143628: len=507
144629: len=507
145630: len=507
146631: len=507
147632: len=507
148633: len=507
149634: len=507
150635: len=507
151636: len=507
152637: len=507
153638: len=507
154639: len=507
155640: len=507
156641: len=507
157642: len=507
158643: len=507
159644: len=507
160645: len=507
161646: len=507
162647: len=507
163648: len=507
164649: len=507
165650: len=507
166651: len=507
167652: len=507
168653: len=507
169654: len=507
170655: len=507
171656: len=507
172657: len=507
173658: len=507
174659: len=507
175660: len=507
176661: len=507
177662: len=507
178663: len=507
179664: len=507
180665: len=507
181666: len=507
182667: len=507
183668: len=507
184669: len=507
185670: len=507
186671: len=507
187672: len=507
188673: len=507
189674: len=507
190675: len=507
191676: len=507
192677: len=507
193678: len=507
194679: len=507
195680: len=507
196681: len=507
197682: len=507
198683: len=507
199684: len=507
200685: len=507
201686: len=507
202687: len=507
203688: len=507
204689: len=507
205690: len=507
206691: len=507
207692: len=507
208693: len=507
209694: len=507
210695: len=507
211696: len=507
212697: len=507
213698: len=507
214699: len=507
215700: len=507
216701: len=507
217702: len=507
218703: len=507
219704: len=507
220705: len=507
221706: len=507
222707: len=507
223708: len=507
224709: len=507
225710: len=507
226711: len=507
227712: len=507
228713: len=507
229714: len=507
230715: len=507
231716: len=507
232717: len=507
233718: len=507
234719: len=507
235720: len=507
236721: len=507
237722: len=507
238723: len=507
239724: len=507
240725: len=507
241726: len=507
242727: len=507
243728: len=507
244729: len=507
245730: len=507
246731: len=507
247732: len=507
248733: len=507
249734: len=507
250735: len=507
251736: len=507
252737: len=507
253738: len=507
254739: len=507
255740: len=507
256741: len=507
257742: len=507
258743: len=507
259744: len=507
260745: len=507
261746: len=507
262747: len=507
263748: len=507
264749: len=507
265750: len=507
266751: len=507
267752: len=507
268753: len=507
269754: len=507
270755: len=507
271756: len=507
272757: len=507
273758: len=507
274759: len=507
275760: len=507
276761: len=507
277762: len=507
278763: len=507
279764: len=507
280765: len=507
281766: len=507
282767: len=507
283768: len=507
284769: len=507
285770: len=507
286771: len=507
287772: len=507
288773: len=507
289774: len=507
290775: len=507
291776: len=507
292777: len=507
293778: len=507
294779: len=507
295780: len=507
296781: len=507
297782: len=507
298783: len=507
299784: len=507
300785: len=507
301786: len=507
302787: len=507
303788: len=507
304789: len=507
305790: len=507
306791: len=507
307792: len=507
308793: len=507
309794: len=507
310795: len=507
311796: len=507
312797: len=507
313798: len=507
314799: len=507
315800: len=507
316801: len=507
317802: len=507
318803: len=507
319804: len=507
320805: len=507
321806: len=507
322807: len=507
323808: len=507
324809: len=507
325810: len=507
326811: len=507
327812: len=507
328813: len=507
329814: len=507
330815: len=507
331816: len=507
332817: len=507
333818: len=507
334819: len=507
335820: len=507
336821: len=507
337822: len=507
338823: len=507
339824: len=507
340825: len=507
341826: len=507
342827: len=507
343828: len=507
344829: len=507
345830: len=507
346831: len=507
347832: len=507
348833: len=507
349834: len=507
350835: len=507
351836: len=507
352837: len=507
353838: len=507
354839: len=507
355840: len=507
356841: len=507
357842: len=507
358843: len=507
359844: len=507
360845: len=507
361846: len=507
362847: len=507
363848: len=507
364849: len=507
365850: len=507
366851: len=507
367852: len=507
368853: len=507
369854: len=507
370855: len=507
371856: len=507
372857: len=507
373858: len=507
374859: len=507
375860: len=507
376861: len=507
377862: len=507
378863: len=507
379864: len=507
380865: len=507
381866: len=507
382867: len=507
383868: len=507
384869: len=507
385870: len=507
386871: len=507
387872: len=507
388873: len=507
389874: len=507
390875: len=507
391876: len=507
392877: len=507
393878: len=507
394879: len=507
395880: len=507
396881: len=507
397882: len=507
398883: len=507
399884: len=507
400885: len=507
401886: len=507
402887: len=507
403888: len=507
404889: len=507
405890: len=507
406891: len=507
407892: len=507
408893: len=507
409894: len=507
410895: len=507
411896: len=507
412897: len=507
413898: len=507
414899: len=507
415900: len=507
416901: len=507
417902: len=507
418903: len=507
419904: len=507
420905: len=507
421906: len=507
422907: len=507
423908: len=507
424909: len=507
425910: len=507
426911: len=507
427912: len=507
428913: len=507
429914: len=507
430915: len=507
431916: len=507
432917: len=507
433918: len=507
434919: len=507
435920: len=507
436921: len=507
437922: len=507
438923: len=507
439924: len=507
440925: len=507
441926: len=507
442927: len=507
443928: len=507
444929: len=507
445930: len=507
446931: len=507
447932: len=507
448933: len=507
449934: len=507
450935: len=507
451936: len=507
452937: len=507
453938: len=507
454939: len=507
455940: len=507
456941: len=507
457942: len=507
458943: len=507
459944: len=507
460945: len=507
461946: len=507
462947: len=507
463948: len=507
464949: len=507
465950: len=507
466951: len=507
467952: len=507
468953: len=507
469954: len=507
470955: len=507
471956: len=507
472957: len=507
473958: len=507
474959: len=507
475960: len=507
476961: len=507
477962: len=507
478963: len=507
479964: len=507
480965: len=507
481966: len=507
482967: len=507
483968: len=507
484969: len=507
485970: len=507
486971: len=507
487972: len=507
488973: len=507
489974: len=507
490975: len=507
491976: len=507
492977: len=507
493978: len=507
494979: len=507
495980: len=507
496981: len=507
497982: len=507
498983: len=507
499984: len=507
500985: len=507
501986: len=507
502987: len=507
503988: len=507
504989: len=507
505990: len=507
506991: len=507
507992: len=507
508993: len=507
509994: len=507
510995: len=507
511996: len=507
512997: len=507
513998: len=507
514999: len=507
5151000: len=507
5161001: len=507
5171002: len=507
5181003: len=507
5191004: len=507
5201005: len=507
5211006: len=507
5221007: len=507
5231008: len=507
5241009: len=507
5251010: len=507
5261011: len=507
5271012: len=507
5281013: len=507
5291014: len=507
5301015: len=507
5311016: len=507
5321017: len=507
5331018: len=507
5341019: len=507
5351020: len=507
5361021: len=507
5371022: len=507
5381023: len=507
5391024: len=507
5401025: len=507
5411026: len=507
5421027: len=507
5431028: len=507
5441029: len=507
5451030: len=507
5461031: len=507
5471032: len=507
5481033: len=507
5491034: len=507
5501035: len=507
5511036: len=507
5521037: len=507
5531038: len=507
5541039: len=507
5551040: len=507
5561041: len=507
5571042: len=507
5581043: len=507
5591044: len=507
5601045: len=507
5611046: len=507
5621047: len=507
5631048: len=507
5641049: len=507
5651050: len=507
5661051: len=507
5671052: len=507
5681053: len=507
5691054: len=507
5701055: len=507
5711056: len=507
5721057: len=507
5731058: len=507
5741059: len=507
5751060: len=507
5761061: len=507
5771062: len=507
5781063: len=507
5791064: len=507
5801065: len=507
5811066: len=507
5821067: len=507
5831068: len=507
5841069: len=507
5851070: len=507
5861071: len=507
5871072: len=507
5881073: len=507
5891074: len=507
590