3v4l.org

run code in 500+ PHP versions simultaneously
<?php CLASS FLOAT_FIX { STATIC FUNCTION BIBI($A) { $KLAMOT = 0; FOR($I = COUNT($A) - 1; $I >= 0; $I = $I - 1) { $PASUT = FLOOR(LOG($A[$I]) / LOG(10)); WHILE($PASUT > 0) { $POW_BASE = (INT)POW(10, $PASUT); WHILE($A[$I] >= $POW_BASE) { IF(ARRAY_KEY_EXISTS($I-1, $A)) { $A[$I] -= $POW_BASE; $A[$I-1] = $A[$I-1] + $POW_BASE / 10; } ELSE { $A[$I] -= $POW_BASE; ARRAY_UNSHIFT($A, $POW_BASE / 10); $KLAMOT = $KLAMOT + 1; $I += 1; } } $PASUT = $PASUT - 1; } } RETURN ['A' => $KLAMOT, 'B' => $A]; } STATIC FUNCTION GOIA($A, $B) { $MERGED = []; FOREACH ([$A, $B] AS $KINGA) { FOREACH ($KINGA AS $KEY => $VALUE) { $MERGED[$KEY] = (STRING)((ARRAY_KEY_EXISTS($KEY,$MERGED) ? $MERGED[$KEY] : 0) + $VALUE); } } RETURN $MERGED; } STATIC FUNCTION POKAHUYA($A, $B) { FOREACH ($B[0] AS $KEY => $VALUE) { IF(!ARRAY_KEY_EXISTS($KEY, $A[0])) { RETURN FALSE; } ELSE{ IF($A[0][$KEY] != $B[0][$KEY]) RETURN FALSE; } } FOREACH ($B[1] AS $KEY => $VALUE) { IF(!ARRAY_KEY_EXISTS($KEY, $A[1])) { RETURN FALSE; } ELSE{ IF($A[1][$KEY] != $B[1][$KEY]) RETURN FALSE; } } RETURN TRUE; } STATIC FUNCTION BUBU($A) { $KOBRAKONSA = FLOAT_FIX::BIBI($A[1]); $FAKE_PO = ''; FOREACH($KOBRAKONSA['B'] AS $INT) $FAKE_PO .= $INT; IF($KOBRAKONSA['A'] > 0) { $A[0][ARRAY_KEY_LAST($A[0])] += SUBSTR($FAKE_PO, 0, $KOBRAKONSA['A']); $REAL_PO = SUBSTR($FAKE_PO, $KOBRAKONSA['A']); } ELSE { $REAL_PO = $FAKE_PO; } $KRUPIER = FLOAT_FIX::BIBI($A[0]); $REAL_PRZED = ''; FOREACH($KRUPIER['B'] AS $INT) $REAL_PRZED .= $INT; RETURN $REAL_PRZED . '.' . $REAL_PO; } STATIC FUNCTION F2A($FLOAT) { $HUGO = EXPLODE('.', (STRING)($FLOAT)); $LUNG = STRLEN($HUGO[1]); $LUMP = []; FOR($I = 0; $I < $LUNG; $I++) { $LUMP[$I] = $HUGO[1][$I]; } RETURN [[$HUGO[0]], $LUMP ]; } STATIC FUNCTION ADD($A, $B) { ECHO $A . ' + ' . $B . ' = '; $A = FLOAT_FIX::F2A($A); $B = FLOAT_FIX::F2A($B); $LGBT = [ FLOAT_FIX::GOIA($A[0], $B[0]), FLOAT_FIX::GOIA($A[1], $B[1]) ]; ECHO FLOAT_FIX::BUBU($LGBT) . '<br>' . PHP_EOL; } STATIC FUNCTION COM($A, $B) { ECHO $A . ' == ' . $B . ' = '; $A = FLOAT_FIX::F2A($A); $B = FLOAT_FIX::F2A($B); ECHO (FLOAT_FIX::POKAHUYA($A, $B) ? 'TRUE' : 'FALSE') . '<br>' . PHP_EOL; } } FLOAT_FIX::ADD('0.1', '0.2'); FLOAT_FIX::ADD('0.4', '0.3'); FLOAT_FIX::ADD('124123.4', '0.3'); FLOAT_FIX::ADD(M_E, M_E); FLOAT_FIX::ADD('2.71828182845904523536028747135266249775724709369995', '2.71828182845904523536028747135266249775724709369995'); FLOAT_FIX::ADD('2132131232101321000.91124214214', '2131232132131231.312'); echo '<hr>'; FLOAT_FIX::COM('0.111', '0.111'); FLOAT_FIX::COM('0.111', '0.112421'); FLOAT_FIX::COM('2134262464233452232.22324214214', '2134262464233452232.22324214214'); FLOAT_FIX::COM('21342624642334522132132131231221412232.2232422132132131231232132112321321314215', '21342624642332132131234522312321321321321332.2212312123212131231233213123324214214'); FLOAT_FIX::COM('21342624642334522132132131231221412232.2232422132132131231232132112321321314215', '21342624642334522132132131231221412232.2232422132132131231232132112321321314215');
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/2eENj
function name:  (null)
number of ops:  46
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  119     0  E >   INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'ADD'
          1        SEND_VAL                                                     '0.1'
          2        SEND_VAL                                                     '0.2'
          3        DO_FCALL                                          0          
  120     4        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'ADD'
          5        SEND_VAL                                                     '0.4'
          6        SEND_VAL                                                     '0.3'
          7        DO_FCALL                                          0          
  121     8        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'ADD'
          9        SEND_VAL                                                     '124123.4'
         10        SEND_VAL                                                     '0.3'
         11        DO_FCALL                                          0          
  122    12        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'ADD'
         13        SEND_VAL                                                     2.71828
         14        SEND_VAL                                                     2.71828
         15        DO_FCALL                                          0          
  123    16        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'ADD'
         17        SEND_VAL                                                     '2.71828182845904523536028747135266249775724709369995'
         18        SEND_VAL                                                     '2.71828182845904523536028747135266249775724709369995'
         19        DO_FCALL                                          0          
  124    20        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'ADD'
         21        SEND_VAL                                                     '2132131232101321000.91124214214'
         22        SEND_VAL                                                     '2131232132131231.312'
         23        DO_FCALL                                          0          
  126    24        ECHO                                                         '%3Chr%3E'
  128    25        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'COM'
         26        SEND_VAL                                                     '0.111'
         27        SEND_VAL                                                     '0.111'
         28        DO_FCALL                                          0          
  129    29        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'COM'
         30        SEND_VAL                                                     '0.111'
         31        SEND_VAL                                                     '0.112421'
         32        DO_FCALL                                          0          
  130    33        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'COM'
         34        SEND_VAL                                                     '2134262464233452232.22324214214'
         35        SEND_VAL                                                     '2134262464233452232.22324214214'
         36        DO_FCALL                                          0          
  131    37        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'COM'
         38        SEND_VAL                                                     '21342624642334522132132131231221412232.2232422132132131231232132112321321314215'
         39        SEND_VAL                                                     '21342624642332132131234522312321321321321332.2212312123212131231233213123324214214'
         40        DO_FCALL                                          0          
  132    41        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'COM'
         42        SEND_VAL                                                     '21342624642334522132132131231221412232.2232422132132131231232132112321321314215'
         43        SEND_VAL                                                     '21342624642334522132132131231221412232.2232422132132131231232132112321321314215'
         44        DO_FCALL                                          0          
         45      > RETURN                                                       1

Class FLOAT_FIX:
Function bibi:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 58
Branch analysis from position: 58
2 jumps found. (Code = 44) Position 1 = 60, Position 2 = 6
Branch analysis from position: 60
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 54
Branch analysis from position: 54
2 jumps found. (Code = 44) Position 1 = 56, Position 2 = 19
Branch analysis from position: 56
2 jumps found. (Code = 44) Position 1 = 60, Position 2 = 6
Branch analysis from position: 60
Branch analysis from position: 6
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 49
Branch analysis from position: 49
2 jumps found. (Code = 44) Position 1 = 52, Position 2 = 26
Branch analysis from position: 52
2 jumps found. (Code = 44) Position 1 = 56, Position 2 = 19
Branch analysis from position: 56
Branch analysis from position: 19
Branch analysis from position: 26
2 jumps found. (Code = 43) Position 1 = 29, Position 2 = 39
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 49
Branch analysis from position: 49
Branch analysis from position: 39
2 jumps found. (Code = 44) Position 1 = 52, Position 2 = 26
Branch analysis from position: 52
Branch analysis from position: 26
filename:       /in/2eENj
function name:  BIBI
number of ops:  64
compiled vars:  !0 = $A, !1 = $KLAMOT, !2 = $I, !3 = $PASUT, !4 = $POW_BASE
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   RECV                                                 !0      
    4     1        ASSIGN                                                       !1, 0
    5     2        COUNT                                                ~6      !0
          3        SUB                                                  ~7      ~6, 1
          4        ASSIGN                                                       !2, ~7
          5      > JMP                                                          ->58
    7     6    >   INIT_FCALL                                                   'floor'
          7        INIT_FCALL                                                   'log'
          8        FETCH_DIM_R                                          ~9      !0, !2
          9        SEND_VAL                                                     ~9
         10        DO_ICALL                                             $10     
         11        INIT_FCALL                                                   'log'
         12        SEND_VAL                                                     10
         13        DO_ICALL                                             $11     
         14        DIV                                                  ~12     $10, $11
         15        SEND_VAL                                                     ~12
         16        DO_ICALL                                             $13     
         17        ASSIGN                                                       !3, $13
    8    18      > JMP                                                          ->54
   10    19    >   INIT_FCALL                                                   'pow'
         20        SEND_VAL                                                     10
         21        SEND_VAR                                                     !3
         22        DO_ICALL                                             $15     
         23        CAST                                              4  ~16     $15
         24        ASSIGN                                                       !4, ~16
   12    25      > JMP                                                          ->49
   14    26    >   SUB                                                  ~18     !2, 1
         27        ARRAY_KEY_EXISTS                                             ~18, !0
         28      > JMPZ                                                         ~19, ->39
   16    29    >   ASSIGN_DIM_OP                    -=               2          !0, !2
         30        OP_DATA                                                      !4
         31        SUB                                                  ~21     !2, 1
         32        SUB                                                  ~23     !2, 1
         33        FETCH_DIM_R                                          ~24     !0, ~23
         34        DIV                                                  ~25     !4, 10
         35        ADD                                                  ~26     ~24, ~25
         36        ASSIGN_DIM                                                   !0, ~21
         37        OP_DATA                                                      ~26
   14    38      > JMP                                                          ->49
   20    39    >   ASSIGN_DIM_OP                    -=               2          !0, !2
         40        OP_DATA                                                      !4
         41        INIT_FCALL                                                   'array_unshift'
         42        SEND_REF                                                     !0
         43        DIV                                                  ~28     !4, 10
         44        SEND_VAL                                                     ~28
         45        DO_ICALL                                                     
   21    46        ADD                                                  ~30     !1, 1
         47        ASSIGN                                                       !1, ~30
         48        ASSIGN_OP                                         1          !2, 1
   12    49    >   FETCH_DIM_R                                          ~33     !0, !2
         50        IS_SMALLER_OR_EQUAL                                          !4, ~33
         51      > JMPNZ                                                        ~34, ->26
   24    52    >   SUB                                                  ~35     !3, 1
         53        ASSIGN                                                       !3, ~35
    8    54    >   IS_SMALLER                                                   0, !3
         55      > JMPNZ                                                        ~37, ->19
    5    56    >   SUB                                                  ~38     !2, 1
         57        ASSIGN                                                       !2, ~38
         58    >   IS_SMALLER_OR_EQUAL                                          0, !2
         59      > JMPNZ                                                        ~40, ->6
   27    60    >   INIT_ARRAY                                           ~41     !1, 'A'
         61        ADD_ARRAY_ELEMENT                                    ~41     !0, 'B'
         62      > RETURN                                                       ~41
   28    63*     > RETURN                                                       null

End of function bibi

Function goia:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 6, Position 2 = 23
Branch analysis from position: 6
2 jumps found. (Code = 78) Position 1 = 7, Position 2 = 23
Branch analysis from position: 7
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 21
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 21
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 15
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
Branch analysis from position: 21
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
filename:       /in/2eENj
function name:  GOIA
number of ops:  26
compiled vars:  !0 = $A, !1 = $B, !2 = $MERGED, !3 = $KINGA, !4 = $VALUE, !5 = $KEY
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   30     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
   32     2        ASSIGN                                                       !2, <array>
   33     3        INIT_ARRAY                                           ~7      !0
          4        ADD_ARRAY_ELEMENT                                    ~7      !1
          5      > FE_RESET_R                                           $8      ~7, ->23
          6    > > FE_FETCH_R                                                   $8, !3, ->23
   34     7    > > FE_RESET_R                                           $9      !3, ->21
          8    > > FE_FETCH_R                                           ~10     $9, !4, ->21
          9    >   ASSIGN                                                       !5, ~10
   35    10        ARRAY_KEY_EXISTS                                             !5, !2
         11      > JMPZ                                                         ~13, ->15
         12    >   FETCH_DIM_R                                          ~14     !2, !5
         13        QM_ASSIGN                                            ~15     ~14
         14      > JMP                                                          ->16
         15    >   QM_ASSIGN                                            ~15     0
         16    >   ADD                                                  ~16     ~15, !4
         17        CAST                                              6  ~17     ~16
         18        ASSIGN_DIM                                                   !2, !5
         19        OP_DATA                                                      ~17
   34    20      > JMP                                                          ->8
         21    >   FE_FREE                                                      $9
   33    22      > JMP                                                          ->6
         23    >   FE_FREE                                                      $8
   38    24      > RETURN                                                       !2
   39    25*     > RETURN                                                       null

End of function goia

Function pokahuya:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 4, Position 2 = 22
Branch analysis from position: 4
2 jumps found. (Code = 78) Position 1 = 5, Position 2 = 22
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 13
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 21
Branch analysis from position: 19
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 22
2 jumps found. (Code = 77) Position 1 = 25, Position 2 = 43
Branch analysis from position: 25
2 jumps found. (Code = 78) Position 1 = 26, Position 2 = 43
Branch analysis from position: 26
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 34
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 42
Branch analysis from position: 40
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 42
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 43
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 43
Branch analysis from position: 22
filename:       /in/2eENj
function name:  POKAHUYA
number of ops:  46
compiled vars:  !0 = $A, !1 = $B, !2 = $VALUE, !3 = $KEY
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   41     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
   43     2        FETCH_DIM_R                                          ~4      !1, 0
          3      > FE_RESET_R                                           $5      ~4, ->22
          4    > > FE_FETCH_R                                           ~6      $5, !2, ->22
          5    >   ASSIGN                                                       !3, ~6
   44     6        FETCH_DIM_R                                          ~8      !0, 0
          7        ARRAY_KEY_EXISTS                                     ~9      !3, ~8
          8        BOOL_NOT                                             ~10     ~9
          9      > JMPZ                                                         ~10, ->13
   45    10    >   FE_FREE                                                      $5
         11      > RETURN                                                       <false>
   44    12*       JMP                                                          ->21
   48    13    >   FETCH_DIM_R                                          ~11     !0, 0
         14        FETCH_DIM_R                                          ~12     ~11, !3
         15        FETCH_DIM_R                                          ~13     !1, 0
         16        FETCH_DIM_R                                          ~14     ~13, !3
         17        IS_NOT_EQUAL                                                 ~12, ~14
         18      > JMPZ                                                         ~15, ->21
   49    19    >   FE_FREE                                                      $5
         20      > RETURN                                                       <false>
   43    21    > > JMP                                                          ->4
         22    >   FE_FREE                                                      $5
   52    23        FETCH_DIM_R                                          ~16     !1, 1
         24      > FE_RESET_R                                           $17     ~16, ->43
         25    > > FE_FETCH_R                                           ~18     $17, !2, ->43
         26    >   ASSIGN                                                       !3, ~18
   53    27        FETCH_DIM_R                                          ~20     !0, 1
         28        ARRAY_KEY_EXISTS                                     ~21     !3, ~20
         29        BOOL_NOT                                             ~22     ~21
         30      > JMPZ                                                         ~22, ->34
   54    31    >   FE_FREE                                                      $17
         32      > RETURN                                                       <false>
   53    33*       JMP                                                          ->42
   57    34    >   FETCH_DIM_R                                          ~23     !0, 1
         35        FETCH_DIM_R                                          ~24     ~23, !3
         36        FETCH_DIM_R                                          ~25     !1, 1
         37        FETCH_DIM_R                                          ~26     ~25, !3
         38        IS_NOT_EQUAL                                                 ~24, ~26
         39      > JMPZ                                                         ~27, ->42
   58    40    >   FE_FREE                                                      $17
         41      > RETURN                                                       <false>
   52    42    > > JMP                                                          ->25
         43    >   FE_FREE                                                      $17
   61    44      > RETURN                                                       <true>
   62    45*     > RETURN                                                       null

End of function pokahuya

Function bubu:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 12
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 12
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 30
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 31
Branch analysis from position: 31
2 jumps found. (Code = 77) Position 1 = 39, Position 2 = 42
Branch analysis from position: 39
2 jumps found. (Code = 78) Position 1 = 40, Position 2 = 42
Branch analysis from position: 40
1 jumps found. (Code = 42) Position 1 = 39
Branch analysis from position: 39
Branch analysis from position: 42
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 42
Branch analysis from position: 30
2 jumps found. (Code = 77) Position 1 = 39, Position 2 = 42
Branch analysis from position: 39
Branch analysis from position: 42
Branch analysis from position: 12
filename:       /in/2eENj
function name:  BUBU
number of ops:  47
compiled vars:  !0 = $A, !1 = $KOBRAKONSA, !2 = $FAKE_PO, !3 = $INT, !4 = $REAL_PO, !5 = $KRUPIER, !6 = $REAL_PRZED
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   64     0  E >   RECV                                                 !0      
   66     1        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'BIBI'
          2        FETCH_DIM_R                                          ~7      !0, 1
          3        SEND_VAL                                                     ~7
          4        DO_FCALL                                          0  $8      
          5        ASSIGN                                                       !1, $8
   67     6        ASSIGN                                                       !2, ''
   68     7        FETCH_DIM_R                                          ~11     !1, 'B'
          8      > FE_RESET_R                                           $12     ~11, ->12
          9    > > FE_FETCH_R                                                   $12, !3, ->12
   69    10    >   ASSIGN_OP                                         8          !2, !3
   68    11      > JMP                                                          ->9
         12    >   FE_FREE                                                      $12
   70    13        FETCH_DIM_R                                          ~14     !1, 'A'
         14        IS_SMALLER                                                   0, ~14
         15      > JMPZ                                                         ~15, ->30
   72    16    >   INIT_FCALL                                                   'array_key_last'
         17        FETCH_DIM_R                                          ~17     !0, 0
         18        SEND_VAL                                                     ~17
         19        DO_ICALL                                             $18     
         20        FETCH_DIM_R                                          ~20     !1, 'A'
         21        FRAMELESS_ICALL_3                substr              ~21     !2, 0
         22        OP_DATA                                                      ~20
         23        FETCH_DIM_RW                                         $16     !0, 0
         24        ASSIGN_DIM_OP                    +=               1          $16, $18
         25        OP_DATA                                                      ~21
   73    26        FETCH_DIM_R                                          ~22     !1, 'A'
         27        FRAMELESS_ICALL_2                substr              ~23     !2, ~22
         28        ASSIGN                                                       !4, ~23
   70    29      > JMP                                                          ->31
   77    30    >   ASSIGN                                                       !4, !2
   79    31    >   INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'BIBI'
         32        FETCH_DIM_R                                          ~26     !0, 0
         33        SEND_VAL                                                     ~26
         34        DO_FCALL                                          0  $27     
         35        ASSIGN                                                       !5, $27
   80    36        ASSIGN                                                       !6, ''
   81    37        FETCH_DIM_R                                          ~30     !5, 'B'
         38      > FE_RESET_R                                           $31     ~30, ->42
         39    > > FE_FETCH_R                                                   $31, !3, ->42
   82    40    >   ASSIGN_OP                                         8          !6, !3
   81    41      > JMP                                                          ->39
         42    >   FE_FREE                                                      $31
   83    43        CONCAT                                               ~33     !6, '.'
         44        CONCAT                                               ~34     ~33, !4
         45      > RETURN                                                       ~34
   84    46*     > RETURN                                                       null

End of function bubu

Function f2a:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 13
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 13
Branch analysis from position: 20
Branch analysis from position: 13
filename:       /in/2eENj
function name:  F2A
number of ops:  26
compiled vars:  !0 = $FLOAT, !1 = $HUGO, !2 = $LUNG, !3 = $LUMP, !4 = $I
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   86     0  E >   RECV                                                 !0      
   88     1        INIT_FCALL                                                   'explode'
          2        SEND_VAL                                                     '.'
          3        CAST                                              6  ~5      !0
          4        SEND_VAL                                                     ~5
          5        DO_ICALL                                             $6      
          6        ASSIGN                                                       !1, $6
   89     7        FETCH_DIM_R                                          ~8      !1, 1
          8        STRLEN                                               ~9      ~8
          9        ASSIGN                                                       !2, ~9
   90    10        ASSIGN                                                       !3, <array>
   91    11        ASSIGN                                                       !4, 0
         12      > JMP                                                          ->18
   93    13    >   FETCH_DIM_R                                          ~14     !1, 1
         14        FETCH_DIM_R                                          ~15     ~14, !4
         15        ASSIGN_DIM                                                   !3, !4
         16        OP_DATA                                                      ~15
   91    17        PRE_INC                                                      !4
         18    >   IS_SMALLER                                                   !4, !2
         19      > JMPNZ                                                        ~17, ->13
   95    20    >   FETCH_DIM_R                                          ~18     !1, 0
         21        INIT_ARRAY                                           ~19     ~18
         22        INIT_ARRAY                                           ~20     ~19
         23        ADD_ARRAY_ELEMENT                                    ~20     !3
         24      > RETURN                                                       ~20
   96    25*     > RETURN                                                       null

End of function f2a

Function add:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/2eENj
function name:  ADD
number of ops:  36
compiled vars:  !0 = $A, !1 = $B, !2 = $LGBT
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   98     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
  100     2        CONCAT                                               ~3      !0, '+%2B+'
          3        CONCAT                                               ~4      ~3, !1
          4        CONCAT                                               ~5      ~4, '+%3D+'
          5        ECHO                                                         ~5
  101     6        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'F2A'
          7        SEND_VAR                                                     !0
          8        DO_FCALL                                          0  $6      
          9        ASSIGN                                                       !0, $6
  102    10        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'F2A'
         11        SEND_VAR                                                     !1
         12        DO_FCALL                                          0  $8      
         13        ASSIGN                                                       !1, $8
  104    14        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'GOIA'
         15        FETCH_DIM_R                                          ~10     !0, 0
         16        SEND_VAL                                                     ~10
         17        FETCH_DIM_R                                          ~11     !1, 0
         18        SEND_VAL                                                     ~11
         19        DO_FCALL                                          0  $12     
         20        INIT_ARRAY                                           ~13     $12
  105    21        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'GOIA'
         22        FETCH_DIM_R                                          ~14     !0, 1
         23        SEND_VAL                                                     ~14
         24        FETCH_DIM_R                                          ~15     !1, 1
         25        SEND_VAL                                                     ~15
         26        DO_FCALL                                          0  $16     
         27        ADD_ARRAY_ELEMENT                                    ~13     $16
  103    28        ASSIGN                                                       !2, ~13
  107    29        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'BUBU'
         30        SEND_VAR                                                     !2
         31        DO_FCALL                                          0  $18     
         32        CONCAT                                               ~19     $18, '%3Cbr%3E'
         33        CONCAT                                               ~20     ~19, '%0A'
         34        ECHO                                                         ~20
  108    35      > RETURN                                                       null

End of function add

Function com:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 21
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/2eENj
function name:  COM
number of ops:  26
compiled vars:  !0 = $A, !1 = $B
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  110     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
  112     2        CONCAT                                               ~2      !0, '+%3D%3D+'
          3        CONCAT                                               ~3      ~2, !1
          4        CONCAT                                               ~4      ~3, '+%3D+'
          5        ECHO                                                         ~4
  113     6        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'F2A'
          7        SEND_VAR                                                     !0
          8        DO_FCALL                                          0  $5      
          9        ASSIGN                                                       !0, $5
  114    10        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'F2A'
         11        SEND_VAR                                                     !1
         12        DO_FCALL                                          0  $7      
         13        ASSIGN                                                       !1, $7
  115    14        INIT_STATIC_METHOD_CALL                                      'FLOAT_FIX', 'POKAHUYA'
         15        SEND_VAR                                                     !0
         16        SEND_VAR                                                     !1
         17        DO_FCALL                                          0  $9      
         18      > JMPZ                                                         $9, ->21
         19    >   QM_ASSIGN                                            ~10     'TRUE'
         20      > JMP                                                          ->22
         21    >   QM_ASSIGN                                            ~10     'FALSE'
         22    >   CONCAT                                               ~11     ~10, '%3Cbr%3E'
         23        CONCAT                                               ~12     ~11, '%0A'
         24        ECHO                                                         ~12
  116    25      > RETURN                                                       null

End of function com

End of class FLOAT_FIX.

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
128.55 ms | 516 KiB | 13 Q