• CanadaPlus@lemmy.sdf.org
    link
    fedilink
    arrow-up
    1
    ·
    4 minutes ago

    I mean, an application could exist where this isn’t even wrong. Maybe as a “subroutine” of another algorithm that only needs a truly composite number most of the time to work.

    That this reads as a joke says more about what application we’re expecting.

  • BradleyUffner@lemmy.world
    link
    fedilink
    English
    arrow-up
    25
    arrow-down
    2
    ·
    6 hours ago

    My favorite part of this is that they test it up to 99999 and we see that it fails for 99991, so that means somewhere in the test they actually implemented a properly working function.

    • anton@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      5
      ·
      1 hour ago

      That’s a legitimate thing to do if you have a slow implementation that’s easy to verify and a fast implementation that isn’t.

    • frank@sopuli.xyz
      link
      fedilink
      arrow-up
      24
      arrow-down
      3
      ·
      5 hours ago

      No, it’s always guessing false and 99991 is prime so it isn’t right. This isn’t the output of the program but the output of the program compared with a better (but probably not faster) isprime program

      • BradleyUffner@lemmy.world
        link
        fedilink
        English
        arrow-up
        21
        ·
        5 hours ago

        Yes, that’s what I said. They wrote another test program, with a correct implementation of IsPrime in order to test to make sure the pictured one produced the expected output.

          • AItoothbrush@lemmy.zip
            link
            fedilink
            English
            arrow-up
            11
            ·
            4 hours ago

            I mean people underestimate how usefull lookup tables are. A lookup table of primes for example is basically always just better except the one case where you are searching for primes which is more maths than computer programming anyways. The modern way is to abstract and reimplement everything when there are much cheaper and easier ways of doing it.

            • ozymandias@sh.itjust.works
              link
              fedilink
              arrow-up
              3
              ·
              52 minutes ago

              more maths than computer programming anyways

              Computer programming is a subset of maths and was invented by a mathematition, originally to solve a maths problem…

          • draco_aeneus@mander.xyz
            link
            fedilink
            English
            arrow-up
            3
            ·
            1 hour ago

            For prime numbers, since they’re quite difficult to calculate and there’s not that many of them, that’s what’s most common.

  • JustARegularNerd@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    14
    arrow-down
    3
    ·
    6 hours ago

    I’m struggling to follow the code here. I’m guessing it’s C++ (which I’m very unfamiliar with)

    bool is_prime(int x) {
        return false;
    }
    

    Wouldn’t this just always return false regardless of x (which I presume is half the joke)? Why is it that when it’s tested up to 99999, it has a roughly 95% success rate then?

    • kraftpudding@lemmy.world
      link
      fedilink
      arrow-up
      27
      ·
      6 hours ago

      I suppose because about 5% of numbers are actually prime numbers, so false is not the output an algorithm checking for prime numbers should return

      • JustARegularNerd@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        7
        ·
        6 hours ago

        Oh I’m with you, the tests are precalculated and expect a true to return on something like 99991, this function as expected returns false, which throws the test into a fail.

        Thank you for that explanation

    • flamingo_pinyata@sopuli.xyz
      link
      fedilink
      arrow-up
      22
      ·
      6 hours ago

      That’s the joke. Stochastic means probabilistic. And this “algorithm” gives the correct answer for the vast majority of inputs

  • Flipper@feddit.org
    link
    fedilink
    arrow-up
    80
    ·
    edit-2
    9 hours ago

    Has the same vibes as anthropic creating a C compiler which passes 99% of compiler tests.

    That last percent is really important. At least that last percent are some really specific edge cases right?

    Description:
    When compiling the following code with CCC using -std=c23:

    bool is_even(int number) {
       return number % 2 == 0;
    }
    

    the compiler fails to compile due to booltrue, and false being unrecognized. The same code compiles correctly with GCC and Clang in C23 mode.

    Source

    Well fuck.

    • PlexSheep@infosec.pub
      link
      fedilink
      arrow-up
      18
      ·
      8 hours ago

      If this wasn’t 100% vibe coded, it would be pretty cool.

      A c compiler written in rust, with a lot of basics supported, an automated test suite that compiles well known c projects. Sounds like a fun project or academic work.

    • the rizzler@lemmygrad.ml
      link
      fedilink
      arrow-up
      5
      ·
      8 hours ago

      any llm must have several C compilers in its training data, so it would be a reasonably competent almost-clone of gcc/clang/msvc anyway, right?

      is what i would have said if you didn’t put that last part

  • Kekzkrieger@feddit.org
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    9 hours ago

    If you think this is bad and not nearly enough accuracy to be called correct, AI is much worse than this.

    It’s not just wrong a lot of times or hallucinates but you can’t pinpoint why or how it produces the result and if you keep putting the same data in, the output may still vary.