Herbie run

Date:Tuesday, April 22nd, 2025
Commit:9b8a20e2 on little-rewrite-tweak
Seed:2025112
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionssetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:proofs
default
Memory:25 486.8 MB

Time bar (total: 22.6s)

sample9.4s (41.4%)

Memory
307.8MiB live, 9 691.4MiB allocated; 4.9s collecting garbage
Samples
5.7s70 148×0valid
696.0ms4 147×2valid
168.0ms1 914×0invalid
1.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 3.9s
ival-mult!: 1.1s (26.9% of total)
ival-div!: 648.0ms (16.4% of total)
ival-sqrt: 498.0ms (12.6% of total)
ival-fabs: 469.0ms (11.9% of total)
ival-neg: 336.0ms (8.5% of total)
ival-sub!: 330.0ms (8.4% of total)
adjust: 230.0ms (5.8% of total)
ival-add!: 182.0ms (4.6% of total)
ival-log: 114.0ms (2.9% of total)
ival-exp: 73.0ms (1.8% of total)
ival-if: 4.0ms (0.1% of total)
ival->=: 3.0ms (0.1% of total)
Bogosity

rewrite5.4s (23.7%)

Memory
66.6MiB live, 5 517.4MiB allocated; 940ms collecting garbage
Stop Event
74×iter-limit
28×node-limit
saturated
unsound
Counts
4 076 → 7 120

derivations2.0s (8.7%)

Memory
-58.9MiB live, 1 882.5MiB allocated; 366ms collecting garbage
Stop Event
done
fuel
Compiler

Compiled 1 150 to 661 computations (42.5% saved)

eval1.2s (5.1%)

Memory
42.6MiB live, 1 757.1MiB allocated; 358ms collecting garbage
Compiler

Compiled 135 533 to 36 047 computations (73.4% saved)

preprocess1.1s (4.7%)

Memory
36.8MiB live, 1 250.8MiB allocated; 192ms collecting garbage
Stop Event
node-limit
saturated
Compiler

Compiled 2 187 to 1 587 computations (27.4% saved)

series937.0ms (4.1%)

Memory
21.1MiB live, 1 320.0MiB allocated; 198ms collecting garbage
Counts
674 → 3 402
Calls

183 calls:

TimeVariablePointExpression
61.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (log x) x (neg (log (- (/ 1 x) 1))) (+ (log x) x) (neg (log (- (/ 1 x) 1))) (log (- (/ 1 x) 1)) (- (/ 1 x) 1) (/ (- 1 x) x) (- 1 x) 1)
52.0ms
b
@inf
((if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (if (>= b 0) (* (/ c (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) -2) (* (- (/ (sqrt (+ (* (* -4 a) c) (* b b))) a) (/ b a)) 1/2)) (>= b 0) b 0 (* (/ c (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) -2) (/ c (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) c (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 a (* b b) -2 (* (- (/ (sqrt (+ (* (* -4 a) c) (* b b))) a) (/ b a)) 1/2) (- (/ (sqrt (+ (* (* -4 a) c) (* b b))) a) (/ b a)) (/ (sqrt (+ (* (* -4 a) c) (* b b))) a) (/ b a) 1/2 (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (* 2 c) 2 (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (neg b) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (* 2 a) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* -4 (* a c)) (* a c) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (+ (* (* a (/ c b)) -2) b) (* a (/ c b)) (/ c b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (* (/ b a) -1/2) (sqrt (* (/ c a) -1))) -1/2 (sqrt (* (/ c a) -1)) (* -1 (sqrt (* (/ c a) -1))) -1 (sqrt (* (/ c a) -1)) (* (/ c a) -1) (/ c a) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* (* 4 a) c) (* 4 a) 4)
26.0ms
b
@-inf
((if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (if (>= b 0) (* (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) -1/2) (/ (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b))) (>= b 0) b 0 (* (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) -1/2) (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 a c (* b b) -1/2 (/ (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b)) (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (neg b) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* (* 4 a) c) (* 4 a) 4 (* 2 a) 2 (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (neg (/ (+ (* 1/2 b) (sqrt (* (* c a) -1))) a)) (/ (+ (* 1/2 b) (sqrt (* (* c a) -1))) a) (+ (* 1/2 b) (sqrt (* (* c a) -1))) 1/2 (sqrt (* (* c a) -1)) (* (* c a) -1) (* c a) -1 (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (+ (* a (/ c b)) (neg b)) a) (+ (* a (/ c b)) (neg b)) (/ c b) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (- (/ (neg b) c) (sqrt (* (/ a c) -4))) c) (- (/ (neg b) c) (sqrt (* (/ a c) -4))) (/ (neg b) c) (sqrt (* (/ a c) -4)) (* (/ a c) -4) (/ a c))
25.0ms
b
@-inf
((if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (>= b 0) b 0 (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (* 2 c) 2 c (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (neg b) (sqrt (- (* b b) (* (* 4 a) c))) (+ (* (* a (/ c b)) -2) b) (* a (/ c b)) a (/ c b) -2 (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* b b) (* (* 4 a) c) (* 4 a) 4 (* 2 a) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (if (>= b 0) (* (/ c (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) -2) (* (/ (- (sqrt (+ (* (* -4 a) c) (* b b))) b) a) 1/2)) (* (/ c (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) -2) (/ c (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 (* (/ (- (sqrt (+ (* (* -4 a) c) (* b b))) b) a) 1/2) (/ (- (sqrt (+ (* (* -4 a) c) (* b b))) b) a) (- (sqrt (+ (* (* -4 a) c) (* b b))) b) 1/2 (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (* (/ b a) -1/2) (sqrt (* (/ c a) -1))) (/ b a) -1/2 (sqrt (* (/ c a) -1)) (* (/ c a) -1) (/ c a) -1 (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (- (/ (neg b) a) (sqrt (* (/ c a) -4))) a) (- (/ (neg b) a) (sqrt (* (/ c a) -4))) (/ (neg b) a) (sqrt (* (/ c a) -4)) (* (/ c a) -4))
24.0ms
a
@0
((if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (if (>= b 0) (* (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) -1/2) (/ (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b))) (>= b 0) b 0 (* (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) -1/2) (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 a c (* b b) -1/2 (/ (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b)) (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (neg b) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* (* 4 a) c) (* 4 a) 4 (* 2 a) 2 (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (neg (/ (+ (* 1/2 b) (sqrt (* (* c a) -1))) a)) (/ (+ (* 1/2 b) (sqrt (* (* c a) -1))) a) (+ (* 1/2 b) (sqrt (* (* c a) -1))) 1/2 (sqrt (* (* c a) -1)) (* (* c a) -1) (* c a) -1 (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (+ (* a (/ c b)) (neg b)) a) (+ (* a (/ c b)) (neg b)) (/ c b) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (- (/ (neg b) c) (sqrt (* (/ a c) -4))) c) (- (/ (neg b) c) (sqrt (* (/ a c) -4))) (/ (neg b) c) (sqrt (* (/ a c) -4)) (* (/ a c) -4) (/ a c))

regimes919.0ms (4.1%)

Memory
87.3MiB live, 1 410.5MiB allocated; 152ms collecting garbage
Counts
897 → 140
Calls

26 calls:

209.0ms
b
105.0ms
x
69.0ms
c
69.0ms
(-.f64 (/.f64 (+.f64 x #s(literal 4 binary64)) y) (*.f64 (/.f64 x y) z))
59.0ms
n
Compiler

Compiled 859 to 899 computations (-4.7% saved)

bsearch889.0ms (3.9%)

Memory
-73.5MiB live, 1 309.6MiB allocated; 247ms collecting garbage
Algorithm
68×binary-search
left-value
Stop Event
57×narrow-enough
11×predicate-same
Samples
305.0ms3 872×0valid
50.0ms555×0invalid
9.0ms80×2valid
1.0ms16×1valid
Compiler

Compiled 32 067 to 27 864 computations (13.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 213.0ms
ival-mult!: 63.0ms (29.6% of total)
ival-div!: 54.0ms (25.4% of total)
ival-sqrt: 24.0ms (11.3% of total)
ival-sub!: 15.0ms (7% of total)
ival-neg: 12.0ms (5.6% of total)
ival-if: 11.0ms (5.2% of total)
ival-fabs: 11.0ms (5.2% of total)
ival-add!: 10.0ms (4.7% of total)
ival->=: 8.0ms (3.8% of total)
adjust: 3.0ms (1.4% of total)
ival-exp: 2.0ms (0.9% of total)

analyze484.0ms (2.1%)

Memory
5.9MiB live, 574.4MiB allocated; 339ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
22.2%22.2%77.7%0.1%0%0%0%1
29.4%27.8%66.6%0.1%0%5.6%0%2
50%44.4%44.4%0.1%0%11.1%0%3
59.7%51.3%34.7%0.1%0%13.9%0%4
66.4%56.2%28.4%0.1%0%15.3%0%5
74%62.1%21.8%0.1%0%16%0%6
77.6%63.8%18.4%0.1%0%17.7%0%7
79.3%65%17%0.1%0%17.9%0%8
85%69.2%12.2%0.1%0%18.5%0%9
86.8%69.7%10.6%0.1%0%19.6%0%10
88.7%71.1%9.1%0.1%0%19.8%0%11
91.6%72.9%6.7%0.1%0%20.3%0%12
Compiler

Compiled 153 to 106 computations (30.7% saved)

prune453.0ms (2%)

Memory
-3.3MiB live, 772.1MiB allocated; 94ms collecting garbage
Counts
7 963 → 288
Compiler

Compiled 14 002 to 11 595 computations (17.2% saved)

start0.0ms (0%)

Memory
0.9MiB live, 0.8MiB allocated; 0ms collecting garbage

end0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...