3v4l.org

run code in 500+ PHP versions simultaneously
<?php $private_seed_hash = "b6ce76f966a38da31399070b0f08523d93ea202e01c3151e259b8815dda02ce8"; $private_seed = "813ce2c0c6aae8fc071426c223ff0ce4"; $public_seed = "04fcb0995f1a2f0c0abd17cf364800d6dee912cba412ce16c58d7241aa7365f7"; $round = "321"; if (hash('sha256', $private_seed) != $private_seed_hash) { echo "WARNING: Private seed hash does not match private seed!\n"; } $hash = hash('sha256', "$private_seed-$public_seed-$round"); $flip = (hexdec(substr($hash, 0, 8)) % 2) + 1; echo "Result: " . ($flip == 1 ? 'Heads (T)' : 'Tails (CT)');
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 11
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
filename:       /in/0ZYp1
function name:  (null)
number of ops:  37
compiled vars:  !0 = $private_seed_hash, !1 = $private_seed, !2 = $public_seed, !3 = $round, !4 = $hash, !5 = $flip
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, 'b6ce76f966a38da31399070b0f08523d93ea202e01c3151e259b8815dda02ce8'
    4     1        ASSIGN                                                       !1, '813ce2c0c6aae8fc071426c223ff0ce4'
    5     2        ASSIGN                                                       !2, '04fcb0995f1a2f0c0abd17cf364800d6dee912cba412ce16c58d7241aa7365f7'
    6     3        ASSIGN                                                       !3, '321'
    7     4        INIT_FCALL                                                   'hash'
          5        SEND_VAL                                                     'sha256'
          6        SEND_VAR                                                     !1
          7        DO_ICALL                                             $10     
          8        IS_NOT_EQUAL                                                 !0, $10
          9      > JMPZ                                                         ~11, ->11
    8    10    >   ECHO                                                         'WARNING%3A+Private+seed+hash+does+not+match+private+seed%21%0A'
   10    11    >   INIT_FCALL                                                   'hash'
         12        SEND_VAL                                                     'sha256'
         13        ROPE_INIT                                         5  ~13     !1
         14        ROPE_ADD                                          1  ~13     ~13, '-'
         15        ROPE_ADD                                          2  ~13     ~13, !2
         16        ROPE_ADD                                          3  ~13     ~13, '-'
         17        ROPE_END                                          4  ~12     ~13, !3
         18        SEND_VAL                                                     ~12
         19        DO_ICALL                                             $16     
         20        ASSIGN                                                       !4, $16
   11    21        INIT_FCALL                                                   'hexdec'
         22        FRAMELESS_ICALL_3                substr              ~18     !4, 0
         23        OP_DATA                                                      8
         24        SEND_VAL                                                     ~18
         25        DO_ICALL                                             $19     
         26        MOD                                                  ~20     $19, 2
         27        ADD                                                  ~21     ~20, 1
         28        ASSIGN                                                       !5, ~21
   12    29        IS_EQUAL                                                     !5, 1
         30      > JMPZ                                                         ~23, ->33
         31    >   QM_ASSIGN                                            ~24     'Heads+%28T%29'
         32      > JMP                                                          ->34
         33    >   QM_ASSIGN                                            ~24     'Tails+%28CT%29'
         34    >   CONCAT                                               ~25     'Result%3A+', ~24
         35        ECHO                                                         ~25
         36      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
128.3 ms | 485 KiB | 9 Q