3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
2 jumps found. (Code = 47) Position 1 = 11, Position 2 = 13
Branch analysis from position: 11
2 jumps found. (Code = 47) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
2 jumps found. (Code = 47) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
2 jumps found. (Code = 47) Position 1 = 20, Position 2 = 22
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 25
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 54, Position 2 = 61
Branch analysis from position: 54
1 jumps found. (Code = 42) Position 1 = 69
Branch analysis from position: 69
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 61
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 22
Branch analysis from position: 19
Branch analysis from position: 16
Branch analysis from position: 13
Branch analysis from position: 10
filename:       /in/SCdP9
function name:  (null)
number of ops:  79
compiled vars:  !0 = $serverSeed, !1 = $eosBlockSeed, !2 = $roundNumber, !3 = $playerPosition, !4 = $isTiebreaker, !5 = $ticketQuantity, !6 = $stringToHash, !7 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   ASSIGN                                                   !0, ''
    5     1        ASSIGN                                                   !1, ''
   14     2        ASSIGN                                                   !2, -1
   21     3        ASSIGN                                                   !3, -1
   25     4        ASSIGN                                                   !4, <false>
   34     5        ASSIGN                                                   !5, 100000
   39     6        IS_EQUAL                                         ~14     !0, ''
          7      > JMPNZ_EX                                         ~14     ~14, ->10
          8    >   IS_EQUAL                                         ~15     !1, ''
          9        BOOL                                             ~14     ~15
         10    > > JMPNZ_EX                                         ~14     ~14, ->13
         11    >   IS_SMALLER                                       ~16     !2, 0
         12        BOOL                                             ~14     ~16
         13    > > JMPNZ_EX                                         ~14     ~14, ->16
         14    >   IS_SMALLER                                       ~17     !3, 1
         15        BOOL                                             ~14     ~17
         16    > > JMPNZ_EX                                         ~14     ~14, ->19
         17    >   IS_SMALLER                                       ~18     4, !3
         18        BOOL                                             ~14     ~18
         19    > > JMPNZ_EX                                         ~14     ~14, ->22
         20    >   IS_SMALLER_OR_EQUAL                              ~19     !5, 0
         21        BOOL                                             ~14     ~19
         22    > > JMPZ                                                     ~14, ->25
   40    23    >   ECHO                                                     'Fill+in+details'
   41    24      > RETURN                                                   null
   44    25    >   INIT_FCALL                                               'define'
         26        SEND_VAL                                                 'MAX_HEX_SEGMENTS'
         27        SEND_VAL                                                 6
         28        DO_ICALL                                                 
   45    29        INIT_FCALL                                               'define'
         30        SEND_VAL                                                 'HEX_SEGMENT_SIZE'
         31        SEND_VAL                                                 2
         32        DO_ICALL                                                 
   46    33        INIT_FCALL                                               'define'
         34        SEND_VAL                                                 'BASE_FOR_HEX_CONVERSION'
         35        SEND_VAL                                                 256
         36        DO_ICALL                                                 
   47    37        INIT_FCALL                                               'define'
         38        SEND_VAL                                                 'HASH_TYPE'
         39        SEND_VAL                                                 'sha256'
         40        DO_ICALL                                                 
   70    41        INIT_FCALL                                               'preg_replace'
         42        SEND_VAL                                                 '%2F%0D%7C%0A%2F'
         43        SEND_VAL                                                 ''
         44        SEND_VAR                                                 !0
         45        DO_ICALL                                         $24     
         46        ASSIGN                                                   !0, $24
   71    47        INIT_FCALL                                               'preg_replace'
         48        SEND_VAL                                                 '%2F%0D%7C%0A%2F'
         49        SEND_VAL                                                 ''
         50        SEND_VAR                                                 !1
         51        DO_ICALL                                         $26     
         52        ASSIGN                                                   !1, $26
   72    53      > JMPZ                                                     !4, ->61
   73    54    >   ROPE_INIT                                     5  ~29     !0
         55        ROPE_ADD                                      1  ~29     ~29, '-'
         56        ROPE_ADD                                      2  ~29     ~29, !1
         57        ROPE_ADD                                      3  ~29     ~29, '-'
         58        ROPE_END                                      4  ~28     ~29, !2
         59        ASSIGN                                                   !6, ~28
   72    60      > JMP                                                      ->69
   75    61    >   ROPE_INIT                                     7  ~34     !0
         62        ROPE_ADD                                      1  ~34     ~34, '-'
         63        ROPE_ADD                                      2  ~34     ~34, !1
         64        ROPE_ADD                                      3  ~34     ~34, '-'
         65        ROPE_ADD                                      4  ~34     ~34, !2
         66        ROPE_ADD                                      5  ~34     ~34, '-'
         67        ROPE_END                                      6  ~33     ~34, !3
         68        ASSIGN                                                   !6, ~33
   78    69    >   INIT_FCALL                                               'getprovablyfairresult'
         70        SEND_VAR                                                 !6
         71        SEND_VAR                                                 !5
         72        DO_FCALL                                      0  $39     
         73        ASSIGN                                                   !7, $39
   80    74        NOP                                                      
         75        FETCH_DIM_R                                      ~41     !7, 'result'
         76        FAST_CONCAT                                      ~42     'Result%3A+', ~41
         77        ECHO                                                     ~42
   82    78      > RETURN                                                   1

Function calculatedecimalvalue:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
2 jumps found. (Code = 44) Position 1 = 28, Position 2 = 4
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 28, Position 2 = 4
Branch analysis from position: 28
Branch analysis from position: 4
filename:       /in/SCdP9
function name:  calculateDecimalValue
number of ops:  32
compiled vars:  !0 = $preResult, !1 = $decimalValue, !2 = $i, !3 = $hexValue
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   49     0  E >   RECV                                             !0      
   51     1        ASSIGN                                                   !1, 0
   52     2        ASSIGN                                                   !2, 0
          3      > JMP                                                      ->25
   53     4    >   INIT_FCALL                                               'substr'
          5        SEND_VAR                                                 !0
          6        FETCH_CONSTANT                                   ~6      'HEX_SEGMENT_SIZE'
          7        MUL                                              ~7      !2, ~6
          8        SEND_VAL                                                 ~7
          9        FETCH_CONSTANT                                   ~8      'HEX_SEGMENT_SIZE'
         10        SEND_VAL                                                 ~8
         11        DO_ICALL                                         $9      
         12        ASSIGN                                                   !3, $9
   54    13        INIT_FCALL                                               'hexdec'
         14        SEND_VAR                                                 !3
         15        DO_ICALL                                         $11     
         16        INIT_FCALL                                               'pow'
         17        FETCH_CONSTANT                                   ~12     'BASE_FOR_HEX_CONVERSION'
         18        SEND_VAL                                                 ~12
         19        ADD                                              ~13     !2, 1
         20        SEND_VAL                                                 ~13
         21        DO_ICALL                                         $14     
         22        DIV                                              ~15     $11, $14
         23        ASSIGN_OP                                     1          !1, ~15
   52    24        PRE_INC                                                  !2
         25    >   FETCH_CONSTANT                                   ~18     'MAX_HEX_SEGMENTS'
         26        IS_SMALLER                                               !2, ~18
         27      > JMPNZ                                                    ~19, ->4
   56    28    >   VERIFY_RETURN_TYPE                                       !1
         29      > RETURN                                                   !1
   57    30*       VERIFY_RETURN_TYPE                                       
         31*     > RETURN                                                   null

End of function calculatedecimalvalue

Function getprovablyfairresult:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/SCdP9
function name:  getProvablyFairResult
number of ops:  22
compiled vars:  !0 = $init, !1 = $qty, !2 = $preResult, !3 = $decimalValue, !4 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   59     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   61     2        INIT_FCALL                                               'hash'
          3        FETCH_CONSTANT                                   ~5      'HASH_TYPE'
          4        SEND_VAL                                                 ~5
          5        SEND_VAR                                                 !0
          6        DO_ICALL                                         $6      
          7        ASSIGN                                                   !2, $6
   62     8        INIT_FCALL                                               'calculatedecimalvalue'
          9        SEND_VAR                                                 !2
         10        DO_FCALL                                      0  $8      
         11        ASSIGN                                                   !3, $8
   63    12        MUL                                              ~10     !3, !1
         13        CAST                                          4  ~11     ~10
         14        ADD                                              ~12     ~11, 1
         15        ASSIGN                                                   !4, ~12
   65    16        INIT_ARRAY                                       ~14     !2, 'preResult'
   66    17        ADD_ARRAY_ELEMENT                                ~14     !4, 'result'
         18        VERIFY_RETURN_TYPE                                       ~14
         19      > RETURN                                                   ~14
   68    20*       VERIFY_RETURN_TYPE                                       
         21*     > RETURN                                                   null

End of function getprovablyfairresult

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
197.73 ms | 988 KiB | 21 Q