3v4l.org

run code in 300+ PHP versions simultaneously
<?php phpversion() >= "7.0.0" or die(); $a = 5; $n = 2; echo $a % $n,"\n"; //echo mod($a,$n),"\n"; PHP doesn't have mod() but does have fmod(); see http://php.net/fmod echo fmod((float)$a,(float)$n),"\n"; echo $a - ($n * (int)($a/$n)),"\n"; $a = INF; $n = pow(2.,64.); try{ echo $a % $n,"\n"; } catch (Error $e){ echo $e->getMessage(),"\n"; } echo fmod((float)$a,(float)$n),"\n"; echo $a - ($n * (int)($a/$n)),"\n";
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 4, Position 2 = 6
Branch analysis from position: 4
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
1 jumps found. (Code = 62) Position 1 = -2
Found catch point at position: 35
Branch analysis from position: 35
2 jumps found. (Code = 107) Position 1 = 36, Position 2 = -2
Branch analysis from position: 36
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/2K2qo
function name:  (null)
number of ops:  55
compiled vars:  !0 = $a, !1 = $n, !2 = $e
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'phpversion'
          1        DO_ICALL                                         $3      
          2        IS_SMALLER_OR_EQUAL                              ~4      '7.0.0', $3
          3      > JMPNZ_EX                                         ~4      ~4, ->6
          4    > > EXIT                                                     
          5*       BOOL                                             ~4      <true>
    3     6    >   ASSIGN                                                   !0, 5
    4     7        ASSIGN                                                   !1, 2
    6     8        MOD                                              ~7      !0, !1
          9        ECHO                                                     ~7
         10        ECHO                                                     '%0A'
    8    11        INIT_FCALL                                               'fmod'
         12        CAST                                          5  ~8      !0
         13        SEND_VAL                                                 ~8
         14        CAST                                          5  ~9      !1
         15        SEND_VAL                                                 ~9
         16        DO_ICALL                                         $10     
         17        ECHO                                                     $10
         18        ECHO                                                     '%0A'
    9    19        DIV                                              ~11     !0, !1
         20        CAST                                          4  ~12     ~11
         21        MUL                                              ~13     !1, ~12
         22        SUB                                              ~14     !0, ~13
         23        ECHO                                                     ~14
         24        ECHO                                                     '%0A'
   12    25        ASSIGN                                                   !0, INF
   13    26        INIT_FCALL                                               'pow'
         27        SEND_VAL                                                 2
         28        SEND_VAL                                                 64
         29        DO_ICALL                                         $16     
         30        ASSIGN                                                   !1, $16
   15    31        MOD                                              ~18     !0, !1
         32        ECHO                                                     ~18
         33        ECHO                                                     '%0A'
         34      > JMP                                                      ->40
   16    35  E > > CATCH                                       last         'Error'
   17    36    >   INIT_METHOD_CALL                                         !2, 'getMessage'
         37        DO_FCALL                                      0  $19     
         38        ECHO                                                     $19
         39        ECHO                                                     '%0A'
   19    40    >   INIT_FCALL                                               'fmod'
         41        CAST                                          5  ~20     !0
         42        SEND_VAL                                                 ~20
         43        CAST                                          5  ~21     !1
         44        SEND_VAL                                                 ~21
         45        DO_ICALL                                         $22     
         46        ECHO                                                     $22
         47        ECHO                                                     '%0A'
   20    48        DIV                                              ~23     !0, !1
         49        CAST                                          4  ~24     ~23
         50        MUL                                              ~25     !1, ~24
         51        SUB                                              ~26     !0, ~25
         52        ECHO                                                     ~26
         53        ECHO                                                     '%0A'
         54      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
156.94 ms | 1400 KiB | 19 Q