3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php echo "Precision: " . ini_get('precision') . PHP_EOL; echo (0.1 + 0.2) . PHP_EOL; echo ((0.1 + 0.2) === 0.3 ? 'true' : 'false') . PHP_EOL; ini_set('precision', 17); echo "Precision: " . ini_get('precision') . PHP_EOL; echo (0.1 + 0.2) . PHP_EOL; echo ((0.1 + 0.2) === 0.3 ? 'true' : 'false') . PHP_EOL; ini_set('precision', 33); echo "Precision: " . ini_get('precision') . PHP_EOL; echo (0.1 + 0.2) . PHP_EOL; echo ((0.1 + 0.2) === 0.3 ? 'true' : 'false') . PHP_EOL;
based on WOefC
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
Jump found. Position 1 = 11
Branch analysis from position: 11
Jump found. Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
Jump found. Position 1 = 28
Branch analysis from position: 28
Jump found. Position 1 = 42, Position 2 = 44
Branch analysis from position: 42
Jump found. Position 1 = 45
Branch analysis from position: 45
Jump found. Position 1 = -2
Branch analysis from position: 44
Jump found. Position 1 = -2
Branch analysis from position: 27
Jump found. Position 1 = 42, Position 2 = 44
Branch analysis from position: 42
Branch analysis from position: 44
Branch analysis from position: 10
Jump found. Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
Branch analysis from position: 27
filename:       /in/EGfSP
function name:  (null)
number of ops:  48
compiled vars:  none
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   2     0  E >   INIT_FCALL                                               'ini_get'
         1        SEND_VAL                                                 'precision'
         2        DO_ICALL                                         $0      
         3        CONCAT                                           ~1      'Precision%3A+', $0
         4        CONCAT                                           ~2      ~1, '%0A'
         5        ECHO                                                     ~2
   3     6        ECHO                                                     '0.3%0A'
   4     7      > JMPZ                                                     <false>, ->10
         8    >   QM_ASSIGN                                        ~3      'true'
         9      > JMP                                                      ->11
        10    >   QM_ASSIGN                                        ~3      'false'
        11    >   CONCAT                                           ~4      ~3, '%0A'
        12        ECHO                                                     ~4
   6    13        INIT_FCALL                                               'ini_set'
        14        SEND_VAL                                                 'precision'
        15        SEND_VAL                                                 17
        16        DO_ICALL                                                 
   7    17        INIT_FCALL                                               'ini_get'
        18        SEND_VAL                                                 'precision'
        19        DO_ICALL                                         $6      
        20        CONCAT                                           ~7      'Precision%3A+', $6
        21        CONCAT                                           ~8      ~7, '%0A'
        22        ECHO                                                     ~8
   8    23        ECHO                                                     '0.3%0A'
   9    24      > JMPZ                                                     <false>, ->27
        25    >   QM_ASSIGN                                        ~9      'true'
        26      > JMP                                                      ->28
        27    >   QM_ASSIGN                                        ~9      'false'
        28    >   CONCAT                                           ~10     ~9, '%0A'
        29        ECHO                                                     ~10
  11    30        INIT_FCALL                                               'ini_set'
        31        SEND_VAL                                                 'precision'
        32        SEND_VAL                                                 33
        33        DO_ICALL                                                 
  12    34        INIT_FCALL                                               'ini_get'
        35        SEND_VAL                                                 'precision'
        36        DO_ICALL                                         $12     
        37        CONCAT                                           ~13     'Precision%3A+', $12
        38        CONCAT                                           ~14     ~13, '%0A'
        39        ECHO                                                     ~14
  13    40        ECHO                                                     '0.3%0A'
  14    41      > JMPZ                                                     <false>, ->44
        42    >   QM_ASSIGN                                        ~15     'true'
        43      > JMP                                                      ->45
        44    >   QM_ASSIGN                                        ~15     'false'
        45    >   CONCAT                                           ~16     ~15, '%0A'
        46        ECHO                                                     ~16
        47      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 7.3.0