3v4l.org

run code in 300+ PHP versions simultaneously
<?php $info1 = array();$info2 = array();$info3 = array();$info4 = array(); $info1['multiply'] = $info2['multiply'] = $info3['multiply'] = 1000; $info1['open'] = 51.732; $info1['high'] = 51.749; $info1['low'] = 51.68; $info1['close'] = 51.68; $info2['open'] = 51.687; $info2['high'] = 52.017; $info2['low'] = 51.666; $info2['close'] = 51.74; $info3['open'] = 51.744; $info3['high'] = 52.013; $info3['low'] = 51.703; $info3['close'] = 51.731; $info4['open'] = 51.732; $info4['high'] = 51.955; $info4['low'] = 51.692; $info4['close'] = 51.692; $typicalSpread = 853; $spikes = array(); if (abs($info1['close'] * $info1['multiply'] - $info2['high'] * $info1['multiply']) >= $typicalSpread) { if (abs($info2['high'] * $info1['multiply'] - $info3['open'] * $info1['multiply']) >= $typicalSpread) { if (abs($info3['high'] * $info1['multiply'] - $info2['close'] * $info1['multiply']) < $typicalSpread && abs($info3['high'] * $info1['multiply'] - $info4['open'] * $info1['multiply']) < $typicalSpread) { echo 'first'; } } else { if (abs($info3['high'] * $info1['multiply'] - $info2['close'] * $info1['multiply']) < $typicalSpread && abs($info3['high'] * $info1['multiply'] - $info4['open'] * $info1['multiply']) >= $typicalSpread) { echo 'second'; } } } if (abs($info1['close'] * $info1['multiply'] - $info2['low'] * $info1['multiply']) >= $typicalSpread) { if (abs($info2['low'] * $info1['multiply'] - $info3['open'] * $info1['multiply']) >= $typicalSpread) { if (abs($info3['low'] * $info1['multiply'] - $info2['close'] * $info1['multiply']) < $typicalSpread && abs($info3['low'] * $info1['multiply'] - $info4['open'] * $info1['multiply']) < $typicalSpread) { echo 'third'; } } else { if (abs($info3['low'] * $info1['multiply'] - $info2['close'] * $info1['multiply']) < $typicalSpread && abs($info3['low'] * $info1['multiply'] - $info4['open'] * $info1['multiply']) >= $typicalSpread) { echo 'fourth'; } } } echo 'no spikes';
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 121
Branch analysis from position: 56
2 jumps found. (Code = 43) Position 1 = 68, Position 2 = 95
Branch analysis from position: 68
2 jumps found. (Code = 46) Position 1 = 80, Position 2 = 92
Branch analysis from position: 80
2 jumps found. (Code = 43) Position 1 = 93, Position 2 = 94
Branch analysis from position: 93
1 jumps found. (Code = 42) Position 1 = 121
Branch analysis from position: 121
2 jumps found. (Code = 43) Position 1 = 133, Position 2 = 198
Branch analysis from position: 133
2 jumps found. (Code = 43) Position 1 = 145, Position 2 = 172
Branch analysis from position: 145
2 jumps found. (Code = 46) Position 1 = 157, Position 2 = 169
Branch analysis from position: 157
2 jumps found. (Code = 43) Position 1 = 170, Position 2 = 171
Branch analysis from position: 170
1 jumps found. (Code = 42) Position 1 = 198
Branch analysis from position: 198
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 171
Branch analysis from position: 169
Branch analysis from position: 172
2 jumps found. (Code = 46) Position 1 = 184, Position 2 = 196
Branch analysis from position: 184
2 jumps found. (Code = 43) Position 1 = 197, Position 2 = 198
Branch analysis from position: 197
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 198
Branch analysis from position: 196
Branch analysis from position: 198
Branch analysis from position: 94
Branch analysis from position: 92
Branch analysis from position: 95
2 jumps found. (Code = 46) Position 1 = 107, Position 2 = 119
Branch analysis from position: 107
2 jumps found. (Code = 43) Position 1 = 120, Position 2 = 121
Branch analysis from position: 120
2 jumps found. (Code = 43) Position 1 = 133, Position 2 = 198
Branch analysis from position: 133
Branch analysis from position: 198
Branch analysis from position: 121
Branch analysis from position: 119
Branch analysis from position: 121
filename:       /in/nGEHO
function name:  (null)
number of ops:  200
compiled vars:  !0 = $info1, !1 = $info2, !2 = $info3, !3 = $info4, !4 = $typicalSpread, !5 = $spikes
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
          1        ASSIGN                                                   !1, <array>
          2        ASSIGN                                                   !2, <array>
          3        ASSIGN                                                   !3, <array>
    3     4        ASSIGN_DIM                                       ~12     !2, 'multiply'
          5        OP_DATA                                                  1000
          6        ASSIGN_DIM                                       ~11     !1, 'multiply'
          7        OP_DATA                                                  ~12
          8        ASSIGN_DIM                                               !0, 'multiply'
          9        OP_DATA                                                  ~11
    5    10        ASSIGN_DIM                                               !0, 'open'
         11        OP_DATA                                                  51.732
    6    12        ASSIGN_DIM                                               !0, 'high'
         13        OP_DATA                                                  51.749
    7    14        ASSIGN_DIM                                               !0, 'low'
         15        OP_DATA                                                  51.68
    8    16        ASSIGN_DIM                                               !0, 'close'
         17        OP_DATA                                                  51.68
   10    18        ASSIGN_DIM                                               !1, 'open'
         19        OP_DATA                                                  51.687
   11    20        ASSIGN_DIM                                               !1, 'high'
         21        OP_DATA                                                  52.017
   12    22        ASSIGN_DIM                                               !1, 'low'
         23        OP_DATA                                                  51.666
   13    24        ASSIGN_DIM                                               !1, 'close'
         25        OP_DATA                                                  51.74
   15    26        ASSIGN_DIM                                               !2, 'open'
         27        OP_DATA                                                  51.744
   16    28        ASSIGN_DIM                                               !2, 'high'
         29        OP_DATA                                                  52.013
   17    30        ASSIGN_DIM                                               !2, 'low'
         31        OP_DATA                                                  51.703
   18    32        ASSIGN_DIM                                               !2, 'close'
         33        OP_DATA                                                  51.731
   20    34        ASSIGN_DIM                                               !3, 'open'
         35        OP_DATA                                                  51.732
   21    36        ASSIGN_DIM                                               !3, 'high'
         37        OP_DATA                                                  51.955
   22    38        ASSIGN_DIM                                               !3, 'low'
         39        OP_DATA                                                  51.692
   23    40        ASSIGN_DIM                                               !3, 'close'
         41        OP_DATA                                                  51.692
   25    42        ASSIGN                                                   !4, 853
   27    43        ASSIGN                                                   !5, <array>
   28    44        INIT_FCALL                                               'abs'
         45        FETCH_DIM_R                                      ~31     !0, 'close'
         46        FETCH_DIM_R                                      ~32     !0, 'multiply'
         47        MUL                                              ~33     ~31, ~32
         48        FETCH_DIM_R                                      ~34     !1, 'high'
         49        FETCH_DIM_R                                      ~35     !0, 'multiply'
         50        MUL                                              ~36     ~34, ~35
         51        SUB                                              ~37     ~33, ~36
         52        SEND_VAL                                                 ~37
         53        DO_ICALL                                         $38     
         54        IS_SMALLER_OR_EQUAL                                      !4, $38
         55      > JMPZ                                                     ~39, ->121
   29    56    >   INIT_FCALL                                               'abs'
         57        FETCH_DIM_R                                      ~40     !1, 'high'
         58        FETCH_DIM_R                                      ~41     !0, 'multiply'
         59        MUL                                              ~42     ~40, ~41
         60        FETCH_DIM_R                                      ~43     !2, 'open'
         61        FETCH_DIM_R                                      ~44     !0, 'multiply'
         62        MUL                                              ~45     ~43, ~44
         63        SUB                                              ~46     ~42, ~45
         64        SEND_VAL                                                 ~46
         65        DO_ICALL                                         $47     
         66        IS_SMALLER_OR_EQUAL                                      !4, $47
         67      > JMPZ                                                     ~48, ->95
   30    68    >   INIT_FCALL                                               'abs'
         69        FETCH_DIM_R                                      ~49     !2, 'high'
         70        FETCH_DIM_R                                      ~50     !0, 'multiply'
         71        MUL                                              ~51     ~49, ~50
         72        FETCH_DIM_R                                      ~52     !1, 'close'
         73        FETCH_DIM_R                                      ~53     !0, 'multiply'
         74        MUL                                              ~54     ~52, ~53
         75        SUB                                              ~55     ~51, ~54
         76        SEND_VAL                                                 ~55
         77        DO_ICALL                                         $56     
         78        IS_SMALLER                                       ~57     $56, !4
         79      > JMPZ_EX                                          ~57     ~57, ->92
   31    80    >   INIT_FCALL                                               'abs'
         81        FETCH_DIM_R                                      ~58     !2, 'high'
         82        FETCH_DIM_R                                      ~59     !0, 'multiply'
         83        MUL                                              ~60     ~58, ~59
         84        FETCH_DIM_R                                      ~61     !3, 'open'
         85        FETCH_DIM_R                                      ~62     !0, 'multiply'
         86        MUL                                              ~63     ~61, ~62
         87        SUB                                              ~64     ~60, ~63
         88        SEND_VAL                                                 ~64
         89        DO_ICALL                                         $65     
         90        IS_SMALLER                                       ~66     $65, !4
         91        BOOL                                             ~57     ~66
         92    > > JMPZ                                                     ~57, ->94
   32    93    >   ECHO                                                     'first'
         94    > > JMP                                                      ->121
   35    95    >   INIT_FCALL                                               'abs'
         96        FETCH_DIM_R                                      ~67     !2, 'high'
         97        FETCH_DIM_R                                      ~68     !0, 'multiply'
         98        MUL                                              ~69     ~67, ~68
         99        FETCH_DIM_R                                      ~70     !1, 'close'
        100        FETCH_DIM_R                                      ~71     !0, 'multiply'
        101        MUL                                              ~72     ~70, ~71
        102        SUB                                              ~73     ~69, ~72
        103        SEND_VAL                                                 ~73
        104        DO_ICALL                                         $74     
        105        IS_SMALLER                                       ~75     $74, !4
        106      > JMPZ_EX                                          ~75     ~75, ->119
   36   107    >   INIT_FCALL                                               'abs'
        108        FETCH_DIM_R                                      ~76     !2, 'high'
        109        FETCH_DIM_R                                      ~77     !0, 'multiply'
        110        MUL                                              ~78     ~76, ~77
        111        FETCH_DIM_R                                      ~79     !3, 'open'
        112        FETCH_DIM_R                                      ~80     !0, 'multiply'
        113        MUL                                              ~81     ~79, ~80
        114        SUB                                              ~82     ~78, ~81
        115        SEND_VAL                                                 ~82
        116        DO_ICALL                                         $83     
        117        IS_SMALLER_OR_EQUAL                              ~84     !4, $83
        118        BOOL                                             ~75     ~84
        119    > > JMPZ                                                     ~75, ->121
   37   120    >   ECHO                                                     'second'
   42   121    >   INIT_FCALL                                               'abs'
        122        FETCH_DIM_R                                      ~85     !0, 'close'
        123        FETCH_DIM_R                                      ~86     !0, 'multiply'
        124        MUL                                              ~87     ~85, ~86
        125        FETCH_DIM_R                                      ~88     !1, 'low'
        126        FETCH_DIM_R                                      ~89     !0, 'multiply'
        127        MUL                                              ~90     ~88, ~89
        128        SUB                                              ~91     ~87, ~90
        129        SEND_VAL                                                 ~91
        130        DO_ICALL                                         $92     
        131        IS_SMALLER_OR_EQUAL                                      !4, $92
        132      > JMPZ                                                     ~93, ->198
   43   133    >   INIT_FCALL                                               'abs'
        134        FETCH_DIM_R                                      ~94     !1, 'low'
        135        FETCH_DIM_R                                      ~95     !0, 'multiply'
        136        MUL                                              ~96     ~94, ~95
        137        FETCH_DIM_R                                      ~97     !2, 'open'
        138        FETCH_DIM_R                                      ~98     !0, 'multiply'
        139        MUL                                              ~99     ~97, ~98
        140        SUB                                              ~100    ~96, ~99
        141        SEND_VAL                                                 ~100
        142        DO_ICALL                                         $101    
        143        IS_SMALLER_OR_EQUAL                                      !4, $101
        144      > JMPZ                                                     ~102, ->172
   44   145    >   INIT_FCALL                                               'abs'
        146        FETCH_DIM_R                                      ~103    !2, 'low'
        147        FETCH_DIM_R                                      ~104    !0, 'multiply'
        148        MUL                                              ~105    ~103, ~104
        149        FETCH_DIM_R                                      ~106    !1, 'close'
        150        FETCH_DIM_R                                      ~107    !0, 'multiply'
        151        MUL                                              ~108    ~106, ~107
        152        SUB                                              ~109    ~105, ~108
        153        SEND_VAL                                                 ~109
        154        DO_ICALL                                         $110    
        155        IS_SMALLER                                       ~111    $110, !4
        156      > JMPZ_EX                                          ~111    ~111, ->169
   45   157    >   INIT_FCALL                                               'abs'
        158        FETCH_DIM_R                                      ~112    !2, 'low'
        159        FETCH_DIM_R                                      ~113    !0, 'multiply'
        160        MUL                                              ~114    ~112, ~113
        161        FETCH_DIM_R                                      ~115    !3, 'open'
        162        FETCH_DIM_R                                      ~116    !0, 'multiply'
        163        MUL                                              ~117    ~115, ~116
        164        SUB                                              ~118    ~114, ~117
        165        SEND_VAL                                                 ~118
        166        DO_ICALL                                         $119    
        167        IS_SMALLER                                       ~120    $119, !4
        168        BOOL                                             ~111    ~120
        169    > > JMPZ                                                     ~111, ->171
   46   170    >   ECHO                                                     'third'
        171    > > JMP                                                      ->198
   49   172    >   INIT_FCALL                                               'abs'
        173        FETCH_DIM_R                                      ~121    !2, 'low'
        174        FETCH_DIM_R                                      ~122    !0, 'multiply'
        175        MUL                                              ~123    ~121, ~122
        176        FETCH_DIM_R                                      ~124    !1, 'close'
        177        FETCH_DIM_R                                      ~125    !0, 'multiply'
        178        MUL                                              ~126    ~124, ~125
        179        SUB                                              ~127    ~123, ~126
        180        SEND_VAL                                                 ~127
        181        DO_ICALL                                         $128    
        182        IS_SMALLER                                       ~129    $128, !4
        183      > JMPZ_EX                                          ~129    ~129, ->196
   50   184    >   INIT_FCALL                                               'abs'
        185        FETCH_DIM_R                                      ~130    !2, 'low'
        186        FETCH_DIM_R                                      ~131    !0, 'multiply'
        187        MUL                                              ~132    ~130, ~131
        188        FETCH_DIM_R                                      ~133    !3, 'open'
        189        FETCH_DIM_R                                      ~134    !0, 'multiply'
        190        MUL                                              ~135    ~133, ~134
        191        SUB                                              ~136    ~132, ~135
        192        SEND_VAL                                                 ~136
        193        DO_ICALL                                         $137    
        194        IS_SMALLER_OR_EQUAL                              ~138    !4, $137
        195        BOOL                                             ~129    ~138
        196    > > JMPZ                                                     ~129, ->198
   51   197    >   ECHO                                                     'fourth'
   56   198    >   ECHO                                                     'no+spikes'
        199      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.56 ms | 1404 KiB | 15 Q