← Back to context

Comment by tzs

2 days ago

> This program will vibrate with increase frequency using the Fibonacci numbers 2, 3, 5, 8, 13, 21, 34..

No it won't. The sequence it follows is 2, 1, 1, 1, ...

After spotting that I was curious if LLMs would also spot it. I asked Perplexity this and gave it the code:

> This is Python code someone posted for a hypothetical vibrator. They said it will vibrate with increasing frequency following Fibonacci numbers: 2, 3, 5, 8, ...

> Does the frequency really increase following that sequence?

It correctly found the actual sequence, explained why the code fails, and offered a fix.

Weird, after the fix vibrator sleeps the longer it is used. Also, at some point it burst into flames

> The sequence it follows is 2, 1, 1, 1, ...

I just ran it, and as long as you start counting at 1, their code works fine, outputting `1, 1, 2, 3, 5, ...`. (Not sure why they say the Fibonacci sequence starts with 2, that's odd.)

  • One can reasonably debate where the Fibonacci sequence starts. Their fib implementation is unquestionably broken for negative inputs, but fortunately they don’t supply negative inputs.

    But try reading the code that calls fib. It’s so outrageously wrong that it’s fairly easy to read it and pretend they wrote something sensible. Never mind that there isn’t actually a straightforward single-line fix - next_fib would be an entirely different beast from fib.

    If they had started with frequency = 4, the real effect of the code would have been to send a couple pulses and then to spend very rapidly (worse than exponentially) increasing time and stack space trying to compute fib.

    • I had missed that, thanks. That is whack. (The input to fibonacci() is it's last output.)

  • this doesn't need if statement but 3 variables: nm2 = 0; nm1 = 1; n; f_next(){n = nm1 + nm2; nm2 = nm1; nm1 = n;}

    Fibonacci sequence is defined as "F0 = 0, F1 = 1, Fn = F(n-1) + F(n-2)". The author implemented F1 as a special case but it doesn't need to be. That's the weird part.

Now ask the the AI to write a formal verification program to prove it :)

ah, i fixed it, i wasn't actually thinking about the code when writing it, didnt even try it :facepalm: absolute brainfart haha I guess it makes the transparency point even stronger