#!/usr/bin/env python3
"""Auto-generated by AGI Loop cycle #1094
Task: Write a Python function that implements gradient descent to minimize f(x) = x^2 + 3x + 2
Generated: 2026-02-12T20:04:32.766094
"""

import numpy as np

def gradient_descent(f, df, x_start, learning_rate=0.1, iterations=1000, tolerance=1e-6):
    x = x_start
    for i in range(iterations):
        gradient = df(x)
        if np.abs(gradient) < tolerance:
            break
        x -= learning_rate * gradient
    return x

def f(x):
    return x**2 + 3*x + 2

def df(x):
    return 2*x + 3

if __name__ == '__main__':
    x_start = 0.0
    result = gradient_descent(f, df, x_start)
    print(f"Minimum at x = {result}")
    print(f"Minimum value f(x) = {f(result)}")