Formula for IIR filter to increase logarithmicaly

i got a perfect formula worked out (one that goes from exactly 20 to 20000 with 500 in the middle.
the second function is its inverse and the slider must have a range of 0 to 1. this is so other people can use it if they need.

lpKnob->textFromValueFunction = [](double value)
{
	double freq = (value);
	return (juce::String(20 * (std::pow(10, (3 * freq)))) + "Hz");
};
lpKnob->valueFromTextFunction = [](const String &text)
{
	auto freq = text.removeCharacters("Hz").getDoubleValue();
	return ((log10(freq / 20)) / 3);
};