3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = -0.05648055; $b = -0.00000545; var_dump($a); $c = bcadd($a,$b,9); $d = $a+$b; echo $c; // => -0.05648055 <- WRONG echo $d; // => -0.056486 <- CORRECT
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/O9ptl
function name:  (null)
number of ops:  16
compiled vars:  !0 = $a, !1 = $b, !2 = $c, !3 = $d
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, -0.0564805
    3     1        ASSIGN                                                   !1, -5.45e-6
    5     2        INIT_FCALL                                               'var_dump'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                                 
    7     5        INIT_FCALL_BY_NAME                                       'bcadd'
          6        SEND_VAR_EX                                              !0
          7        SEND_VAR_EX                                              !1
          8        SEND_VAL_EX                                              9
          9        DO_FCALL                                      0  $7      
         10        ASSIGN                                                   !2, $7
    8    11        ADD                                              ~9      !0, !1
         12        ASSIGN                                                   !3, ~9
   10    13        ECHO                                                     !2
   11    14        ECHO                                                     !3
         15      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
175.87 ms | 1394 KiB | 15 Q