3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = 3; $b = 1.55; $c = $a + $b; echo $c . PHP_EOL; // prints 4.55 $d = new \SplFloat(3.00); $e = new \SplFloat(1.55); $f = $d + $e; echo $f . PHP_EOL; // prints 4 (unexpected) $g = new \SplFloat(3.00); $h = new \SplFloat(1.55); $i = (float)$g + (float)$h; echo $i . PHP_EOL; // prints 4.55
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tCNIa
function name:  (null)
number of ops:  33
compiled vars:  !0 = $a, !1 = $b, !2 = $c, !3 = $d, !4 = $e, !5 = $f, !6 = $g, !7 = $h, !8 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 3
    3     1        ASSIGN                                                   !1, 1.55
    4     2        ADD                                              ~11     !0, !1
          3        ASSIGN                                                   !2, ~11
    5     4        CONCAT                                           ~13     !2, '%0A'
          5        ECHO                                                     ~13
    7     6        NEW                                              $14     'SplFloat'
          7        SEND_VAL_EX                                              3
          8        DO_FCALL                                      0          
          9        ASSIGN                                                   !3, $14
    8    10        NEW                                              $17     'SplFloat'
         11        SEND_VAL_EX                                              1.55
         12        DO_FCALL                                      0          
         13        ASSIGN                                                   !4, $17
    9    14        ADD                                              ~20     !3, !4
         15        ASSIGN                                                   !5, ~20
   10    16        CONCAT                                           ~22     !5, '%0A'
         17        ECHO                                                     ~22
   12    18        NEW                                              $23     'SplFloat'
         19        SEND_VAL_EX                                              3
         20        DO_FCALL                                      0          
         21        ASSIGN                                                   !6, $23
   13    22        NEW                                              $26     'SplFloat'
         23        SEND_VAL_EX                                              1.55
         24        DO_FCALL                                      0          
         25        ASSIGN                                                   !7, $26
   14    26        CAST                                          5  ~29     !6
         27        CAST                                          5  ~30     !7
         28        ADD                                              ~31     ~29, ~30
         29        ASSIGN                                                   !8, ~31
   15    30        CONCAT                                           ~33     !8, '%0A'
         31        ECHO                                                     ~33
         32      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.83 ms | 1395 KiB | 13 Q