Block(JumpLoop(
  Execute(
    Set(
      10000
      1
      Trunc(Divide(
        Get(
          4000
          2
        )
        2
      ))
    )
    Set(
      10000
      0
      Subtract(
        Add(
          Multiply(
            Add(
              Get(
                10000
                1
              )
              0.5
            )
            Get(
              2000
              1
            )
          )
          -0.252
        )
        Divide(
          Subtract(
            Get(
              1000
              1
            )
            Negate(Get(
              1000
              1
            ))
          )
          2
        )
      )
    )
    Set(
      10000
      1
      Add(
        Subtract(
          Add(
            Multiply(
              Add(
                Get(
                  10000
                  1
                )
                0.5
              )
              Get(
                2000
                1
              )
            )
            0.252
          )
          Divide(
            Subtract(
              Get(
                1000
                1
              )
              Negate(Get(
                1000
                1
              ))
            )
            2
          )
        )
        0.21599999999999997
      )
    )
    Set(
      10000
      2
      Lerp(
        -0.9
        0.9
        Divide(
          Mod(
            Get(
              4000
              2
            )
            2
          )
          2
        )
      )
    )
    Draw(
      19
      Get(
        10000
        0
      )
      Subtract(
        Get(
          10000
          2
        )
        0.0018
      )
      Get(
        10000
        0
      )
      Add(
        Get(
          10000
          2
        )
        0.0018
      )
      Get(
        10000
        1
      )
      Add(
        Get(
          10000
          2
        )
        0.0018
      )
      Get(
        10000
        1
      )
      Subtract(
        Get(
          10000
          2
        )
        0.0018
      )
      240000
      0.8
    )
    Print(
      Get(
        4000
        1
      )
      20
      -1
      Add(
        Subtract(
          Add(
            Multiply(
              Add(
                Trunc(Divide(
                  Get(
                    4000
                    2
                  )
                  2
                ))
                0.5
              )
              Get(
                2000
                1
              )
            )
            0.252
          )
          Divide(
            Subtract(
              Get(
                1000
                1
              )
              Negate(Get(
                1000
                1
              ))
            )
            2
          )
        )
        0.015
      )
      Lerp(
        -0.9
        0.9
        Divide(
          Mod(
            Get(
              4000
              2
            )
            2
          )
          2
        )
      )
      0
      0
      0.22
      0.12
      0
      5
      1
      -1
      0
    )
    Set(
      10000
      3
      Add(
        Get(
          4000
          0
        )
        4
      )
    )
    1
  )
  Execute(If(
    Equal(
      BeatToStartingBeat(Get(
        10000
        3
      ))
      Get(
        4000
        0
      )
    )
    2
    4
  ))
  Execute(If(
    LessOr(
      Get(
        10000
        3
      )
      Get(
        2000
        Add(
          2
          2
        )
      )
    )
    3
    4
  ))
  Execute(
    Set(
      10000
      4
      BeatToTime(Get(
        10000
        3
      ))
    )
    Set(
      10000
      5
      Trunc(Divide(
        Get(
          10000
          4
        )
        2
      ))
    )
    Set(
      10000
      0
      Subtract(
        Add(
          Multiply(
            Add(
              Get(
                10000
                5
              )
              0.5
            )
            Get(
              2000
              1
            )
          )
          -0.252
        )
        Divide(
          Subtract(
            Get(
              1000
              1
            )
            Negate(Get(
              1000
              1
            ))
          )
          2
        )
      )
    )
    Set(
      10000
      1
      Subtract(
        Add(
          Multiply(
            Add(
              Get(
                10000
                5
              )
              0.5
            )
            Get(
              2000
              1
            )
          )
          0.252
        )
        Divide(
          Subtract(
            Get(
              1000
              1
            )
            Negate(Get(
              1000
              1
            ))
          )
          2
        )
      )
    )
    Set(
      10000
      2
      Lerp(
        -0.9
        0.9
        Divide(
          Mod(
            Get(
              10000
              4
            )
            2
          )
          2
        )
      )
    )
    Draw(
      21
      Get(
        10000
        0
      )
      Subtract(
        Get(
          10000
          2
        )
        0.0018
      )
      Get(
        10000
        0
      )
      Add(
        Get(
          10000
          2
        )
        0.0018
      )
      Get(
        10000
        1
      )
      Add(
        Get(
          10000
          2
        )
        0.0018
      )
      Get(
        10000
        1
      )
      Subtract(
        Get(
          10000
          2
        )
        0.0018
      )
      Subtract(
        21
        Divide(
          BeatToTime(Get(
            10000
            3
          ))
          100
        )
      )
      0.8
    )
    Set(
      10000
      3
      Add(
        Get(
          10000
          3
        )
        4
      )
    )
    1
  )
  Execute(5)
  0
))