3v4l.org

run code in 300+ PHP versions simultaneously
<?php do{ $a = mt_rand(5, 75); $b = mt_rand(5, 75); $adjuster = mt_rand(2, 20); $decimal_selector = mt_rand(1, 6); if ($decimal_selector == 1){ $a = $a / 10; $b = $b / 10; } if ($decimal_selector == 2){ $a = $a / 10; $b = $b / 100; } if ($decimal_selector == 3){ $a = $a / 100; $b = $b / 10; } if ($decimal_selector == 4){ $a = $a / 100; $b = $b / 100; } if ($decimal_selector == 5){ $a = $a / 1000; $b = $b / 1000; } if ($decimal_selector == 6){ $a = $a / 1000; $b = $b / 100; } if($b < $a){ $b = $b + ($a - $b) + $adjuster; } $c = $b - $a; if(intval($c) == $c) { $c_is_int = 1; echo "c $c is int\n"; } else { $c_is_int = 0; "c $c is NOT int\n"; } } while($c_is_int == 1);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 26
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 32
Branch analysis from position: 28
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 38
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 44
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 46, Position 2 = 50
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 52, Position 2 = 56
Branch analysis from position: 52
2 jumps found. (Code = 43) Position 1 = 58, Position 2 = 62
Branch analysis from position: 58
2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 73
Branch analysis from position: 67
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
2 jumps found. (Code = 44) Position 1 = 80, Position 2 = 0
Branch analysis from position: 80
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 0
Branch analysis from position: 73
2 jumps found. (Code = 44) Position 1 = 80, Position 2 = 0
Branch analysis from position: 80
Branch analysis from position: 0
Branch analysis from position: 62
Branch analysis from position: 56
Branch analysis from position: 50
Branch analysis from position: 44
Branch analysis from position: 38
Branch analysis from position: 32
Branch analysis from position: 26
filename:       /in/BGY0K
function name:  (null)
number of ops:  81
compiled vars:  !0 = $a, !1 = $b, !2 = $adjuster, !3 = $decimal_selector, !4 = $c, !5 = $c_is_int
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'mt_rand'
          1        SEND_VAL                                                 5
          2        SEND_VAL                                                 75
          3        DO_ICALL                                         $6      
          4        ASSIGN                                                   !0, $6
    4     5        INIT_FCALL                                               'mt_rand'
          6        SEND_VAL                                                 5
          7        SEND_VAL                                                 75
          8        DO_ICALL                                         $8      
          9        ASSIGN                                                   !1, $8
    5    10        INIT_FCALL                                               'mt_rand'
         11        SEND_VAL                                                 2
         12        SEND_VAL                                                 20
         13        DO_ICALL                                         $10     
         14        ASSIGN                                                   !2, $10
    7    15        INIT_FCALL                                               'mt_rand'
         16        SEND_VAL                                                 1
         17        SEND_VAL                                                 6
         18        DO_ICALL                                         $12     
         19        ASSIGN                                                   !3, $12
    8    20        IS_EQUAL                                                 !3, 1
         21      > JMPZ                                                     ~14, ->26
    9    22    >   DIV                                              ~15     !0, 10
         23        ASSIGN                                                   !0, ~15
   10    24        DIV                                              ~17     !1, 10
         25        ASSIGN                                                   !1, ~17
   12    26    >   IS_EQUAL                                                 !3, 2
         27      > JMPZ                                                     ~19, ->32
   13    28    >   DIV                                              ~20     !0, 10
         29        ASSIGN                                                   !0, ~20
   14    30        DIV                                              ~22     !1, 100
         31        ASSIGN                                                   !1, ~22
   16    32    >   IS_EQUAL                                                 !3, 3
         33      > JMPZ                                                     ~24, ->38
   17    34    >   DIV                                              ~25     !0, 100
         35        ASSIGN                                                   !0, ~25
   18    36        DIV                                              ~27     !1, 10
         37        ASSIGN                                                   !1, ~27
   20    38    >   IS_EQUAL                                                 !3, 4
         39      > JMPZ                                                     ~29, ->44
   21    40    >   DIV                                              ~30     !0, 100
         41        ASSIGN                                                   !0, ~30
   22    42        DIV                                              ~32     !1, 100
         43        ASSIGN                                                   !1, ~32
   24    44    >   IS_EQUAL                                                 !3, 5
         45      > JMPZ                                                     ~34, ->50
   25    46    >   DIV                                              ~35     !0, 1000
         47        ASSIGN                                                   !0, ~35
   26    48        DIV                                              ~37     !1, 1000
         49        ASSIGN                                                   !1, ~37
   28    50    >   IS_EQUAL                                                 !3, 6
         51      > JMPZ                                                     ~39, ->56
   29    52    >   DIV                                              ~40     !0, 1000
         53        ASSIGN                                                   !0, ~40
   30    54        DIV                                              ~42     !1, 100
         55        ASSIGN                                                   !1, ~42
   33    56    >   IS_SMALLER                                               !1, !0
         57      > JMPZ                                                     ~44, ->62
   34    58    >   SUB                                              ~45     !0, !1
         59        ADD                                              ~46     !1, ~45
         60        ADD                                              ~47     ~46, !2
         61        ASSIGN                                                   !1, ~47
   37    62    >   SUB                                              ~49     !1, !0
         63        ASSIGN                                                   !4, ~49
   39    64        CAST                                          4  ~51     !4
         65        IS_EQUAL                                                 !4, ~51
         66      > JMPZ                                                     ~52, ->73
   40    67    >   ASSIGN                                                   !5, 1
   41    68        ROPE_INIT                                     3  ~55     'c+'
         69        ROPE_ADD                                      1  ~55     ~55, !4
         70        ROPE_END                                      2  ~54     ~55, '+is+int%0A'
         71        ECHO                                                     ~54
         72      > JMP                                                      ->78
   43    73    >   ASSIGN                                                   !5, 0
   44    74        ROPE_INIT                                     3  ~59     'c+'
         75        ROPE_ADD                                      1  ~59     ~59, !4
         76        ROPE_END                                      2  ~58     ~59, '+is+NOT+int%0A'
         77        FREE                                                     ~58
   46    78    >   IS_EQUAL                                                 !5, 1
         79      > JMPNZ                                                    ~61, ->0
         80    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.82 ms | 1396 KiB | 15 Q