3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_ALL); ini_set('display_startup_errors', 1); ini_set('display_errors', 1); function getFillNotion(\DateTimeImmutable $fillStart, \DateTimeImmutable $fillEnd, \DateTimeInterface $gapStart, \DateTimeInterface $gapEnd) { //$gapInterval = $gapStart->diff($gapEnd); // Doesn't work $gapInterval = new \DateInterval('PT'.($gapEnd->getTimestamp() - $gapStart->getTimestamp()).'S'); if($gapStart > $fillStart) { //The fill is older than the gap so make the fill's endTime match the gap's endTime $fillEndModified = $fillEnd ->modify('previous '.$gapEnd->format('D')) ->setTime(...explode('.', $gapEnd->format('H.i.s.u'))); if($fillEndModified->diff($fillEnd)->format('%a') >= 7) { $fillEndModified = $fillEndModified->add(new \DateInterval('P7D')); } $fillStartModified = $fillEndModified->sub($gapInterval); if($fillStartModified < $fillStart) { return []; } } else { //The fill is newer than the gap so make the fill's startTime match the gap's startTime $fillStartModified = $fillStart ->modify('next '.$gapStart->format('D')) ->setTime(...explode('.', $gapStart->format('H.i.s.u'))); if($fillStart->diff($fillStartModified)->format('%a') >= 7) { $fillStartModified = $fillStartModified->sub(new \DateInterval('P7D')); } $fillEndModified = $fillStartModified->add($gapInterval); if($fillEndModified > $fillEnd) { return []; } } return [$fillStartModified, $fillEndModified]; } function getFillRequinix(\DateTime $fillStart, \DateTime $fillEnd, \DateTime $gapStart, \DateTime $gapEnd) { // // being with the original start $fillStartModified = clone $fillStart; // move to the next weekday and time $wdtStart = $gapStart->format("l H:i:s"); if ($fillStartModified->format("l H:i:s") != $wdtStart) { $fillStartModified->modify("next {$wdtStart}"); } // get the duration, minus a bit so we can do a "next <day>" after $days = $gapStart->diff($gapEnd)->days - 1; // get the weekday and time $wdtEnd = $gapEnd->format("l H:i:s"); // update $fillEndModified = clone $fillStartModified; $fillEndModified->modify("+${days} days"); $fillEndModified->modify("next {$wdtEnd}"); return $fillStartModified < $fillStart || $fillEndModified > $fillEnd?[]:[$fillStartModified, $fillEndModified]; } function isDifferent(?DateTimeInterface $requinix, $notion) { if($requinix xor $notion) { return true; } elseif(!$requinix && !$notion) { return false; } else { return $requinix->getTimestamp() !== $notion->getTimestamp(); } } /* Fill Sunday 2019-02-17 08:09:53 -> Saturday 2019-04-06 19:09:48 Gap Sunday 2019-04-14 20:33:00 -> Tuesday 2019-05-28 10:05:28 */ $max = 800*24*60*60; $int = 80*24*60*60; $score = ['requinix'=>0, 'notion'=>0, 'tie'=>0, 'nofill'=>0]; for ($i = 0; $i < 10000; $i++) { $fillEnd = time()-rand(0, $max); $fillStart = $fillEnd-rand(0, $int); $gapEnd = time()-rand(0, $max); $gapStart = $gapEnd-rand(0, $int); $fillEnd = new DateTime("@$fillEnd"); $fillStart = new DateTime("@$fillStart"); $gapEnd = new DateTime("@$gapEnd"); $gapStart = new DateTime("@$gapStart"); $fillRequinix = getFillRequinix($fillStart, $fillEnd, $gapStart, $gapEnd); $fillNotion = getFillNotion(DateTimeImmutable::createFromMutable( $fillStart ), DateTimeImmutable::createFromMutable( $fillEnd ), $gapStart, $gapEnd); if($fillRequinix && $fillNotion) { $gapStartTimestamp = $gapStart->getTimestamp(); $fillRequinixOffset = abs($gapStartTimestamp - $fillRequinix[0]->getTimestamp()); $fillNotionOffset = abs($gapStartTimestamp - $fillNotion[0]->getTimestamp()); if($fillRequinixOffset === $fillNotionOffset) { $score['tie']++; } elseif($fillRequinixOffset<$fillNotionOffset) { $score['requinix']++; } else { $score['notion']++; } } elseif($fillRequinix) { $score['requinix']++; } elseif($fillNotion) { $score['notion']++; } else { $score['nofill']++; } } $score['total'] = array_sum($score); print_r($score);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
2 jumps found. (Code = 44) Position 1 = 136, Position 2 = 16
Branch analysis from position: 136
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 16
2 jumps found. (Code = 46) Position 1 = 89, Position 2 = 90
Branch analysis from position: 89
2 jumps found. (Code = 43) Position 1 = 91, Position 2 = 123
Branch analysis from position: 91
2 jumps found. (Code = 43) Position 1 = 112, Position 2 = 115
Branch analysis from position: 112
1 jumps found. (Code = 42) Position 1 = 122
Branch analysis from position: 122
1 jumps found. (Code = 42) Position 1 = 133
Branch analysis from position: 133
2 jumps found. (Code = 44) Position 1 = 136, Position 2 = 16
Branch analysis from position: 136
Branch analysis from position: 16
Branch analysis from position: 115
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 120
Branch analysis from position: 117
1 jumps found. (Code = 42) Position 1 = 122
Branch analysis from position: 122
Branch analysis from position: 120
1 jumps found. (Code = 42) Position 1 = 133
Branch analysis from position: 133
Branch analysis from position: 123
2 jumps found. (Code = 43) Position 1 = 124, Position 2 = 127
Branch analysis from position: 124
1 jumps found. (Code = 42) Position 1 = 133
Branch analysis from position: 133
Branch analysis from position: 127
2 jumps found. (Code = 43) Position 1 = 128, Position 2 = 131
Branch analysis from position: 128
1 jumps found. (Code = 42) Position 1 = 133
Branch analysis from position: 133
Branch analysis from position: 131
2 jumps found. (Code = 44) Position 1 = 136, Position 2 = 16
Branch analysis from position: 136
Branch analysis from position: 16
Branch analysis from position: 90
filename:       /in/0RJfq
function name:  (null)
number of ops:  145
compiled vars:  !0 = $max, !1 = $int, !2 = $score, !3 = $i, !4 = $fillEnd, !5 = $fillStart, !6 = $gapEnd, !7 = $gapStart, !8 = $fillRequinix, !9 = $fillNotion, !10 = $gapStartTimestamp, !11 = $fillRequinixOffset, !12 = $fillNotionOffset
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'error_reporting'
          1        SEND_VAL                                                 32767
          2        DO_ICALL                                                 
    3     3        INIT_FCALL                                               'ini_set'
          4        SEND_VAL                                                 'display_startup_errors'
          5        SEND_VAL                                                 1
          6        DO_ICALL                                                 
    4     7        INIT_FCALL                                               'ini_set'
          8        SEND_VAL                                                 'display_errors'
          9        SEND_VAL                                                 1
         10        DO_ICALL                                                 
   82    11        ASSIGN                                                   !0, 69120000
   83    12        ASSIGN                                                   !1, 6912000
   84    13        ASSIGN                                                   !2, <array>
   85    14        ASSIGN                                                   !3, 0
         15      > JMP                                                      ->134
   86    16    >   INIT_FCALL                                               'time'
         17        DO_ICALL                                         $20     
         18        INIT_FCALL                                               'rand'
         19        SEND_VAL                                                 0
         20        SEND_VAR                                                 !0
         21        DO_ICALL                                         $21     
         22        SUB                                              ~22     $20, $21
         23        ASSIGN                                                   !4, ~22
   87    24        INIT_FCALL                                               'rand'
         25        SEND_VAL                                                 0
         26        SEND_VAR                                                 !1
         27        DO_ICALL                                         $24     
         28        SUB                                              ~25     !4, $24
         29        ASSIGN                                                   !5, ~25
   88    30        INIT_FCALL                                               'time'
         31        DO_ICALL                                         $27     
         32        INIT_FCALL                                               'rand'
         33        SEND_VAL                                                 0
         34        SEND_VAR                                                 !0
         35        DO_ICALL                                         $28     
         36        SUB                                              ~29     $27, $28
         37        ASSIGN                                                   !6, ~29
   89    38        INIT_FCALL                                               'rand'
         39        SEND_VAL                                                 0
         40        SEND_VAR                                                 !1
         41        DO_ICALL                                         $31     
         42        SUB                                              ~32     !6, $31
         43        ASSIGN                                                   !7, ~32
   90    44        NEW                                              $34     'DateTime'
         45        NOP                                                      
         46        FAST_CONCAT                                      ~35     '%40', !4
         47        SEND_VAL_EX                                              ~35
         48        DO_FCALL                                      0          
         49        ASSIGN                                                   !4, $34
   91    50        NEW                                              $38     'DateTime'
         51        NOP                                                      
         52        FAST_CONCAT                                      ~39     '%40', !5
         53        SEND_VAL_EX                                              ~39
         54        DO_FCALL                                      0          
         55        ASSIGN                                                   !5, $38
   92    56        NEW                                              $42     'DateTime'
         57        NOP                                                      
         58        FAST_CONCAT                                      ~43     '%40', !6
         59        SEND_VAL_EX                                              ~43
         60        DO_FCALL                                      0          
         61        ASSIGN                                                   !6, $42
   93    62        NEW                                              $46     'DateTime'
         63        NOP                                                      
         64        FAST_CONCAT                                      ~47     '%40', !7
         65        SEND_VAL_EX                                              ~47
         66        DO_FCALL                                      0          
         67        ASSIGN                                                   !7, $46
   94    68        INIT_FCALL                                               'getfillrequinix'
         69        SEND_VAR                                                 !5
         70        SEND_VAR                                                 !4
         71        SEND_VAR                                                 !7
         72        SEND_VAR                                                 !6
         73        DO_FCALL                                      0  $50     
         74        ASSIGN                                                   !8, $50
   95    75        INIT_FCALL                                               'getfillnotion'
         76        INIT_STATIC_METHOD_CALL                                  'DateTimeImmutable', 'createFromMutable'
         77        SEND_VAR                                                 !5
         78        DO_FCALL                                      0  $52     
         79        SEND_VAR                                                 $52
         80        INIT_STATIC_METHOD_CALL                                  'DateTimeImmutable', 'createFromMutable'
         81        SEND_VAR                                                 !4
         82        DO_FCALL                                      0  $53     
         83        SEND_VAR                                                 $53
         84        SEND_VAR                                                 !7
         85        SEND_VAR                                                 !6
         86        DO_FCALL                                      0  $54     
         87        ASSIGN                                                   !9, $54
   97    88      > JMPZ_EX                                          ~56     !8, ->90
         89    >   BOOL                                             ~56     !9
         90    > > JMPZ                                                     ~56, ->123
   98    91    >   INIT_METHOD_CALL                                         !7, 'getTimestamp'
         92        DO_FCALL                                      0  $57     
         93        ASSIGN                                                   !10, $57
   99    94        INIT_FCALL                                               'abs'
         95        FETCH_DIM_R                                      ~59     !8, 0
         96        INIT_METHOD_CALL                                         ~59, 'getTimestamp'
         97        DO_FCALL                                      0  $60     
         98        SUB                                              ~61     !10, $60
         99        SEND_VAL                                                 ~61
        100        DO_ICALL                                         $62     
        101        ASSIGN                                                   !11, $62
  100   102        INIT_FCALL                                               'abs'
        103        FETCH_DIM_R                                      ~64     !9, 0
        104        INIT_METHOD_CALL                                         ~64, 'getTimestamp'
        105        DO_FCALL                                      0  $65     
        106        SUB                                              ~66     !10, $65
        107        SEND_VAL                                                 ~66
        108        DO_ICALL                                         $67     
        109        ASSIGN                                                   !12, $67
  101   110        IS_IDENTICAL                                             !11, !12
        111      > JMPZ                                                     ~69, ->115
  102   112    >   FETCH_DIM_RW                                     $70     !2, 'tie'
        113        PRE_INC                                                  $70
        114      > JMP                                                      ->122
  104   115    >   IS_SMALLER                                               !11, !12
        116      > JMPZ                                                     ~72, ->120
  105   117    >   FETCH_DIM_RW                                     $73     !2, 'requinix'
        118        PRE_INC                                                  $73
        119      > JMP                                                      ->122
  108   120    >   FETCH_DIM_RW                                     $75     !2, 'notion'
        121        PRE_INC                                                  $75
        122    > > JMP                                                      ->133
  111   123    > > JMPZ                                                     !8, ->127
  112   124    >   FETCH_DIM_RW                                     $77     !2, 'requinix'
        125        PRE_INC                                                  $77
        126      > JMP                                                      ->133
  114   127    > > JMPZ                                                     !9, ->131
  115   128    >   FETCH_DIM_RW                                     $79     !2, 'notion'
        129        PRE_INC                                                  $79
        130      > JMP                                                      ->133
  118   131    >   FETCH_DIM_RW                                     $81     !2, 'nofill'
        132        PRE_INC                                                  $81
   85   133    >   PRE_INC                                                  !3
        134    >   IS_SMALLER                                               !3, 10000
        135      > JMPNZ                                                    ~84, ->16
  121   136    >   INIT_FCALL                                               'array_sum'
        137        SEND_VAR                                                 !2
        138        DO_ICALL                                         $86     
        139        ASSIGN_DIM                                               !2, 'total'
        140        OP_DATA                                                  $86
  122   141        INIT_FCALL                                               'print_r'
        142        SEND_VAR                                                 !2
        143        DO_ICALL                                                 
        144      > RETURN                                                   1

Function getfillnotion:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 59
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 51
Branch analysis from position: 44
2 jumps found. (Code = 43) Position 1 = 57, Position 2 = 58
Branch analysis from position: 57
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 58
1 jumps found. (Code = 42) Position 1 = 100
Branch analysis from position: 100
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 51
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 86, Position 2 = 93
Branch analysis from position: 86
2 jumps found. (Code = 43) Position 1 = 99, Position 2 = 100
Branch analysis from position: 99
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 100
Branch analysis from position: 93
filename:       /in/0RJfq
function name:  getFillNotion
number of ops:  104
compiled vars:  !0 = $fillStart, !1 = $fillEnd, !2 = $gapStart, !3 = $gapEnd, !4 = $gapInterval, !5 = $fillEndModified, !6 = $fillStartModified
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
          3        RECV                                             !3      
    9     4        NEW                                              $7      'DateInterval'
          5        INIT_METHOD_CALL                                         !3, 'getTimestamp'
          6        DO_FCALL                                      0  $8      
          7        INIT_METHOD_CALL                                         !2, 'getTimestamp'
          8        DO_FCALL                                      0  $9      
          9        SUB                                              ~10     $8, $9
         10        CONCAT                                           ~11     'PT', ~10
         11        CONCAT                                           ~12     ~11, 'S'
         12        SEND_VAL_EX                                              ~12
         13        DO_FCALL                                      0          
         14        ASSIGN                                                   !4, $7
   10    15        IS_SMALLER                                               !0, !2
         16      > JMPZ                                                     ~15, ->59
   13    17    >   INIT_METHOD_CALL                                         !1, 'modify'
         18        INIT_METHOD_CALL                                         !3, 'format'
         19        SEND_VAL_EX                                              'D'
         20        DO_FCALL                                      0  $16     
         21        CONCAT                                           ~17     'previous+', $16
         22        SEND_VAL_EX                                              ~17
         23        DO_FCALL                                      0  $18     
   14    24        INIT_METHOD_CALL                                         $18, 'setTime'
         25        INIT_FCALL                                               'explode'
         26        SEND_VAL                                                 '.'
         27        INIT_METHOD_CALL                                         !3, 'format'
         28        SEND_VAL_EX                                              'H.i.s.u'
         29        DO_FCALL                                      0  $19     
         30        SEND_VAR                                                 $19
         31        DO_ICALL                                         $20     
         32        SEND_UNPACK                                              $20
         33        CHECK_UNDEF_ARGS                                         
         34        DO_FCALL                                      1  $21     
   12    35        ASSIGN                                                   !5, $21
   15    36        INIT_METHOD_CALL                                         !5, 'diff'
         37        SEND_VAR_EX                                              !1
         38        DO_FCALL                                      0  $23     
         39        INIT_METHOD_CALL                                         $23, 'format'
         40        SEND_VAL_EX                                              '%25a'
         41        DO_FCALL                                      0  $24     
         42        IS_SMALLER_OR_EQUAL                                      7, $24
         43      > JMPZ                                                     ~25, ->51
   16    44    >   INIT_METHOD_CALL                                         !5, 'add'
         45        NEW                                              $26     'DateInterval'
         46        SEND_VAL_EX                                              'P7D'
         47        DO_FCALL                                      0          
         48        SEND_VAR_NO_REF_EX                                       $26
         49        DO_FCALL                                      0  $28     
         50        ASSIGN                                                   !5, $28
   18    51    >   INIT_METHOD_CALL                                         !5, 'sub'
         52        SEND_VAR_EX                                              !4
         53        DO_FCALL                                      0  $30     
         54        ASSIGN                                                   !6, $30
   19    55        IS_SMALLER                                               !6, !0
         56      > JMPZ                                                     ~32, ->58
   20    57    > > RETURN                                                   <array>
         58    > > JMP                                                      ->100
   26    59    >   INIT_METHOD_CALL                                         !0, 'modify'
         60        INIT_METHOD_CALL                                         !2, 'format'
         61        SEND_VAL_EX                                              'D'
         62        DO_FCALL                                      0  $33     
         63        CONCAT                                           ~34     'next+', $33
         64        SEND_VAL_EX                                              ~34
         65        DO_FCALL                                      0  $35     
   27    66        INIT_METHOD_CALL                                         $35, 'setTime'
         67        INIT_FCALL                                               'explode'
         68        SEND_VAL                                                 '.'
         69        INIT_METHOD_CALL                                         !2, 'format'
         70        SEND_VAL_EX                                              'H.i.s.u'
         71        DO_FCALL                                      0  $36     
         72        SEND_VAR                                                 $36
         73        DO_ICALL                                         $37     
         74        SEND_UNPACK                                              $37
         75        CHECK_UNDEF_ARGS                                         
         76        DO_FCALL                                      1  $38     
   25    77        ASSIGN                                                   !6, $38
   28    78        INIT_METHOD_CALL                                         !0, 'diff'
         79        SEND_VAR_EX                                              !6
         80        DO_FCALL                                      0  $40     
         81        INIT_METHOD_CALL                                         $40, 'format'
         82        SEND_VAL_EX                                              '%25a'
         83        DO_FCALL                                      0  $41     
         84        IS_SMALLER_OR_EQUAL                                      7, $41
         85      > JMPZ                                                     ~42, ->93
   29    86    >   INIT_METHOD_CALL                                         !6, 'sub'
         87        NEW                                              $43     'DateInterval'
         88        SEND_VAL_EX                                              'P7D'
         89        DO_FCALL                                      0          
         90        SEND_VAR_NO_REF_EX                                       $43
         91        DO_FCALL                                      0  $45     
         92        ASSIGN                                                   !6, $45
   31    93    >   INIT_METHOD_CALL                                         !6, 'add'
         94        SEND_VAR_EX                                              !4
         95        DO_FCALL                                      0  $47     
         96        ASSIGN                                                   !5, $47
   32    97        IS_SMALLER                                               !1, !5
         98      > JMPZ                                                     ~49, ->100
   33    99    > > RETURN                                                   <array>
   36   100    >   INIT_ARRAY                                       ~50     !6
        101        ADD_ARRAY_ELEMENT                                ~50     !5
        102      > RETURN                                                   ~50
   37   103*     > RETURN                                                   null

End of function getfillnotion

Function getfillrequinix:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 20
Branch analysis from position: 15
2 jumps found. (Code = 47) Position 1 = 45, Position 2 = 47
Branch analysis from position: 45
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 50
Branch analysis from position: 48
1 jumps found. (Code = 42) Position 1 = 53
Branch analysis from position: 53
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 47
Branch analysis from position: 20
filename:       /in/0RJfq
function name:  getFillRequinix
number of ops:  55
compiled vars:  !0 = $fillStart, !1 = $fillEnd, !2 = $gapStart, !3 = $gapEnd, !4 = $fillStartModified, !5 = $wdtStart, !6 = $days, !7 = $wdtEnd, !8 = $fillEndModified
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   39     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
          3        RECV                                             !3      
   44     4        CLONE                                            ~9      !0
          5        ASSIGN                                                   !4, ~9
   47     6        INIT_METHOD_CALL                                         !2, 'format'
          7        SEND_VAL_EX                                              'l+H%3Ai%3As'
          8        DO_FCALL                                      0  $11     
          9        ASSIGN                                                   !5, $11
   48    10        INIT_METHOD_CALL                                         !4, 'format'
         11        SEND_VAL_EX                                              'l+H%3Ai%3As'
         12        DO_FCALL                                      0  $13     
         13        IS_NOT_EQUAL                                             !5, $13
         14      > JMPZ                                                     ~14, ->20
   49    15    >   INIT_METHOD_CALL                                         !4, 'modify'
         16        NOP                                                      
         17        FAST_CONCAT                                      ~15     'next+', !5
         18        SEND_VAL_EX                                              ~15
         19        DO_FCALL                                      0          
   53    20    >   INIT_METHOD_CALL                                         !2, 'diff'
         21        SEND_VAR_EX                                              !3
         22        DO_FCALL                                      0  $17     
         23        FETCH_OBJ_R                                      ~18     $17, 'days'
         24        SUB                                              ~19     ~18, 1
         25        ASSIGN                                                   !6, ~19
   56    26        INIT_METHOD_CALL                                         !3, 'format'
         27        SEND_VAL_EX                                              'l+H%3Ai%3As'
         28        DO_FCALL                                      0  $21     
         29        ASSIGN                                                   !7, $21
   59    30        CLONE                                            ~23     !4
         31        ASSIGN                                                   !8, ~23
   60    32        INIT_METHOD_CALL                                         !8, 'modify'
         33        ROPE_INIT                                     3  ~26     '%2B'
         34        ROPE_ADD                                      1  ~26     ~26, !6
         35        ROPE_END                                      2  ~25     ~26, '+days'
         36        SEND_VAL_EX                                              ~25
         37        DO_FCALL                                      0          
   61    38        INIT_METHOD_CALL                                         !8, 'modify'
         39        NOP                                                      
         40        FAST_CONCAT                                      ~29     'next+', !7
         41        SEND_VAL_EX                                              ~29
         42        DO_FCALL                                      0          
   62    43        IS_SMALLER                                       ~31     !4, !0
         44      > JMPNZ_EX                                         ~31     ~31, ->47
         45    >   IS_SMALLER                                       ~32     !1, !8
         46        BOOL                                             ~31     ~32
         47    > > JMPZ                                                     ~31, ->50
         48    >   QM_ASSIGN                                        ~33     <array>
         49      > JMP                                                      ->53
         50    >   INIT_ARRAY                                       ~34     !4
         51        ADD_ARRAY_ELEMENT                                ~34     !8
         52        QM_ASSIGN                                        ~33     ~34
         53    > > RETURN                                                   ~33
   63    54*     > RETURN                                                   null

End of function getfillrequinix

Function isdifferent:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 6
Branch analysis from position: 4
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 46) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 13
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
filename:       /in/0RJfq
function name:  isDifferent
number of ops:  20
compiled vars:  !0 = $requinix, !1 = $notion
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   65     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   66     2        BOOL_XOR                                         ~2      !0, !1
          3      > JMPZ                                                     ~2, ->6
   67     4    > > RETURN                                                   <true>
          5*       JMP                                                      ->19
   69     6    >   BOOL_NOT                                         ~3      !0
          7      > JMPZ_EX                                          ~3      ~3, ->10
          8    >   BOOL_NOT                                         ~4      !1
          9        BOOL                                             ~3      ~4
         10    > > JMPZ                                                     ~3, ->13
   70    11    > > RETURN                                                   <false>
         12*       JMP                                                      ->19
   73    13    >   INIT_METHOD_CALL                                         !0, 'getTimestamp'
         14        DO_FCALL                                      0  $5      
         15        INIT_METHOD_CALL                                         !1, 'getTimestamp'
         16        DO_FCALL                                      0  $6      
         17        IS_NOT_IDENTICAL                                 ~7      $5, $6
         18      > RETURN                                                   ~7
   75    19*     > RETURN                                                   null

End of function isdifferent

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
144.39 ms | 1431 KiB | 31 Q