3v4l.org

run code in 300+ PHP versions simultaneously
<?php function percentToDegrees($percent) { $percent = intval($percent); if ($percent == 50) $degrees = 90; else if ($percent == 0) $degrees = 0; else if ($percent == 100) $degrees = 180; else if ($percent < 10) $degrees = 10; else if ($percent < 20) $degrees = 20; else if ($percent < 25) $degrees = 30; else if ($percent < 30) $degrees = 35; else if ($percent < 35) $degrees = 40; else if ($percent < 40) $degrees = 44; else if ($percent < 41) $degrees = 48; else if ($percent < 42) $degrees = 52; else if ($percent < 43) $degrees = 56; else if ($percent < 44) $degrees = 60; else if ($percent < 45) $degrees = 64; else if ($percent < 46) $degrees = 68; else if ($percent < 47) $degrees = 72; else if ($percent < 48) $degrees = 76; else if ($percent == 49) $degrees = 80; else if ($percent > 90) $degrees = 170; else if ($percent > 80) $degrees = 160; else if ($percent > 75) $degrees = 156; else if ($percent > 70) $degrees = 152; else if ($percent > 65) $degrees = 148; else if ($percent > 60) $degrees = 144; else if ($percent > 59) $degrees = 130; else if ($percent > 58) $degrees = 126; else if ($percent > 57) $degrees = 124; else if ($percent > 56) $degrees = 120; else if ($percent > 55) $degrees = 116; else if ($percent > 54) $degrees = 112; else if ($percent > 53) $degrees = 108; else if ($percent > 52) $degrees = 104; else if ($percent == 51) $degrees = 100; return $degrees; } foreach (range(0, 100) as $r) { echo "(" . $r . ", " . percentToDegrees($r) . "),"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 5, Position 2 = 15
Branch analysis from position: 5
2 jumps found. (Code = 78) Position 1 = 6, Position 2 = 15
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 5
Branch analysis from position: 5
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
filename:       /in/VN40e
function name:  (null)
number of ops:  17
compiled vars:  !0 = $r
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   49     0  E >   INIT_FCALL                                               'range'
          1        SEND_VAL                                                 0
          2        SEND_VAL                                                 100
          3        DO_ICALL                                         $1      
          4      > FE_RESET_R                                       $2      $1, ->15
          5    > > FE_FETCH_R                                               $2, !0, ->15
   50     6    >   CONCAT                                           ~3      '%28', !0
          7        CONCAT                                           ~4      ~3, '%2C+'
          8        INIT_FCALL                                               'percenttodegrees'
          9        SEND_VAR                                                 !0
         10        DO_FCALL                                      0  $5      
         11        CONCAT                                           ~6      ~4, $5
         12        CONCAT                                           ~7      ~6, '%29%2C'
         13        ECHO                                                     ~7
   49    14      > JMP                                                      ->5
         15    >   FE_FREE                                                  $2
   51    16      > RETURN                                                   1

Function percenttodegrees:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 7
Branch analysis from position: 5
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 15
Branch analysis from position: 13
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 23
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 27
2 jumps found. (Code = 43) Position 1 = 29, Position 2 = 31
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 33, Position 2 = 35
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 39
Branch analysis from position: 37
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 45, Position 2 = 47
Branch analysis from position: 45
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 47
2 jumps found. (Code = 43) Position 1 = 49, Position 2 = 51
Branch analysis from position: 49
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 51
2 jumps found. (Code = 43) Position 1 = 53, Position 2 = 55
Branch analysis from position: 53
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 55
2 jumps found. (Code = 43) Position 1 = 57, Position 2 = 59
Branch analysis from position: 57
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 61, Position 2 = 63
Branch analysis from position: 61
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 63
2 jumps found. (Code = 43) Position 1 = 65, Position 2 = 67
Branch analysis from position: 65
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 67
2 jumps found. (Code = 43) Position 1 = 69, Position 2 = 71
Branch analysis from position: 69
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 71
2 jumps found. (Code = 43) Position 1 = 73, Position 2 = 75
Branch analysis from position: 73
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 75
2 jumps found. (Code = 43) Position 1 = 77, Position 2 = 79
Branch analysis from position: 77
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 79
2 jumps found. (Code = 43) Position 1 = 81, Position 2 = 83
Branch analysis from position: 81
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 83
2 jumps found. (Code = 43) Position 1 = 85, Position 2 = 87
Branch analysis from position: 85
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 87
2 jumps found. (Code = 43) Position 1 = 89, Position 2 = 91
Branch analysis from position: 89
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 91
2 jumps found. (Code = 43) Position 1 = 93, Position 2 = 95
Branch analysis from position: 93
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 95
2 jumps found. (Code = 43) Position 1 = 97, Position 2 = 99
Branch analysis from position: 97
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 99
2 jumps found. (Code = 43) Position 1 = 101, Position 2 = 103
Branch analysis from position: 101
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 103
2 jumps found. (Code = 43) Position 1 = 105, Position 2 = 107
Branch analysis from position: 105
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 107
2 jumps found. (Code = 43) Position 1 = 109, Position 2 = 111
Branch analysis from position: 109
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 111
2 jumps found. (Code = 43) Position 1 = 113, Position 2 = 115
Branch analysis from position: 113
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 115
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 119
Branch analysis from position: 117
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 119
2 jumps found. (Code = 43) Position 1 = 121, Position 2 = 123
Branch analysis from position: 121
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 123
2 jumps found. (Code = 43) Position 1 = 125, Position 2 = 127
Branch analysis from position: 125
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 127
2 jumps found. (Code = 43) Position 1 = 129, Position 2 = 131
Branch analysis from position: 129
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
Branch analysis from position: 131
2 jumps found. (Code = 43) Position 1 = 133, Position 2 = 134
Branch analysis from position: 133
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 134
filename:       /in/VN40e
function name:  percentToDegrees
number of ops:  136
compiled vars:  !0 = $percent, !1 = $degrees
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
    4     1        CAST                                          4  ~2      !0
          2        ASSIGN                                                   !0, ~2
    8     3        IS_EQUAL                                                 !0, 50
          4      > JMPZ                                                     ~4, ->7
          5    >   ASSIGN                                                   !1, 90
          6      > JMP                                                      ->134
    9     7    >   IS_EQUAL                                                 !0, 0
          8      > JMPZ                                                     ~6, ->11
          9    >   ASSIGN                                                   !1, 0
         10      > JMP                                                      ->134
   10    11    >   IS_EQUAL                                                 !0, 100
         12      > JMPZ                                                     ~8, ->15
         13    >   ASSIGN                                                   !1, 180
         14      > JMP                                                      ->134
   12    15    >   IS_SMALLER                                               !0, 10
         16      > JMPZ                                                     ~10, ->19
         17    >   ASSIGN                                                   !1, 10
         18      > JMP                                                      ->134
   13    19    >   IS_SMALLER                                               !0, 20
         20      > JMPZ                                                     ~12, ->23
         21    >   ASSIGN                                                   !1, 20
         22      > JMP                                                      ->134
   14    23    >   IS_SMALLER                                               !0, 25
         24      > JMPZ                                                     ~14, ->27
         25    >   ASSIGN                                                   !1, 30
         26      > JMP                                                      ->134
   15    27    >   IS_SMALLER                                               !0, 30
         28      > JMPZ                                                     ~16, ->31
         29    >   ASSIGN                                                   !1, 35
         30      > JMP                                                      ->134
   16    31    >   IS_SMALLER                                               !0, 35
         32      > JMPZ                                                     ~18, ->35
         33    >   ASSIGN                                                   !1, 40
         34      > JMP                                                      ->134
   17    35    >   IS_SMALLER                                               !0, 40
         36      > JMPZ                                                     ~20, ->39
         37    >   ASSIGN                                                   !1, 44
         38      > JMP                                                      ->134
   18    39    >   IS_SMALLER                                               !0, 41
         40      > JMPZ                                                     ~22, ->43
         41    >   ASSIGN                                                   !1, 48
         42      > JMP                                                      ->134
   19    43    >   IS_SMALLER                                               !0, 42
         44      > JMPZ                                                     ~24, ->47
         45    >   ASSIGN                                                   !1, 52
         46      > JMP                                                      ->134
   20    47    >   IS_SMALLER                                               !0, 43
         48      > JMPZ                                                     ~26, ->51
         49    >   ASSIGN                                                   !1, 56
         50      > JMP                                                      ->134
   21    51    >   IS_SMALLER                                               !0, 44
         52      > JMPZ                                                     ~28, ->55
         53    >   ASSIGN                                                   !1, 60
         54      > JMP                                                      ->134
   22    55    >   IS_SMALLER                                               !0, 45
         56      > JMPZ                                                     ~30, ->59
         57    >   ASSIGN                                                   !1, 64
         58      > JMP                                                      ->134
   23    59    >   IS_SMALLER                                               !0, 46
         60      > JMPZ                                                     ~32, ->63
         61    >   ASSIGN                                                   !1, 68
         62      > JMP                                                      ->134
   24    63    >   IS_SMALLER                                               !0, 47
         64      > JMPZ                                                     ~34, ->67
         65    >   ASSIGN                                                   !1, 72
         66      > JMP                                                      ->134
   25    67    >   IS_SMALLER                                               !0, 48
         68      > JMPZ                                                     ~36, ->71
         69    >   ASSIGN                                                   !1, 76
         70      > JMP                                                      ->134
   26    71    >   IS_EQUAL                                                 !0, 49
         72      > JMPZ                                                     ~38, ->75
         73    >   ASSIGN                                                   !1, 80
         74      > JMP                                                      ->134
   28    75    >   IS_SMALLER                                               90, !0
         76      > JMPZ                                                     ~40, ->79
         77    >   ASSIGN                                                   !1, 170
         78      > JMP                                                      ->134
   29    79    >   IS_SMALLER                                               80, !0
         80      > JMPZ                                                     ~42, ->83
         81    >   ASSIGN                                                   !1, 160
         82      > JMP                                                      ->134
   30    83    >   IS_SMALLER                                               75, !0
         84      > JMPZ                                                     ~44, ->87
         85    >   ASSIGN                                                   !1, 156
         86      > JMP                                                      ->134
   31    87    >   IS_SMALLER                                               70, !0
         88      > JMPZ                                                     ~46, ->91
         89    >   ASSIGN                                                   !1, 152
         90      > JMP                                                      ->134
   32    91    >   IS_SMALLER                                               65, !0
         92      > JMPZ                                                     ~48, ->95
         93    >   ASSIGN                                                   !1, 148
         94      > JMP                                                      ->134
   33    95    >   IS_SMALLER                                               60, !0
         96      > JMPZ                                                     ~50, ->99
         97    >   ASSIGN                                                   !1, 144
         98      > JMP                                                      ->134
   34    99    >   IS_SMALLER                                               59, !0
        100      > JMPZ                                                     ~52, ->103
        101    >   ASSIGN                                                   !1, 130
        102      > JMP                                                      ->134
   35   103    >   IS_SMALLER                                               58, !0
        104      > JMPZ                                                     ~54, ->107
        105    >   ASSIGN                                                   !1, 126
        106      > JMP                                                      ->134
   36   107    >   IS_SMALLER                                               57, !0
        108      > JMPZ                                                     ~56, ->111
        109    >   ASSIGN                                                   !1, 124
        110      > JMP                                                      ->134
   37   111    >   IS_SMALLER                                               56, !0
        112      > JMPZ                                                     ~58, ->115
        113    >   ASSIGN                                                   !1, 120
        114      > JMP                                                      ->134
   38   115    >   IS_SMALLER                                               55, !0
        116      > JMPZ                                                     ~60, ->119
        117    >   ASSIGN                                                   !1, 116
        118      > JMP                                                      ->134
   39   119    >   IS_SMALLER                                               54, !0
        120      > JMPZ                                                     ~62, ->123
        121    >   ASSIGN                                                   !1, 112
        122      > JMP                                                      ->134
   40   123    >   IS_SMALLER                                               53, !0
        124      > JMPZ                                                     ~64, ->127
        125    >   ASSIGN                                                   !1, 108
        126      > JMP                                                      ->134
   41   127    >   IS_SMALLER                                               52, !0
        128      > JMPZ                                                     ~66, ->131
        129    >   ASSIGN                                                   !1, 104
        130      > JMP                                                      ->134
   42   131    >   IS_EQUAL                                                 !0, 51
        132      > JMPZ                                                     ~68, ->134
        133    >   ASSIGN                                                   !1, 100
   46   134    > > RETURN                                                   !1
   47   135*     > RETURN                                                   null

End of function percenttodegrees

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
159.59 ms | 1419 KiB | 16 Q