Herbie run

Date:Tuesday, March 25th, 2025
Commit:481a8102 on main
Seed:2025084
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionsreduce:simplifysetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:28 027.4 MB

Time bar (total: 26.3s)

sample8.7s (33%)

Memory
393.7MiB live, 8 442.6MiB allocated; 4.1s collecting garbage
Samples
4.9s70 219×0valid
888.0ms4 079×2valid
252.0ms1 953×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 3.9s
ival-mult!: 1.3s (33.6% of total)
ival-sqrt: 678.0ms (17.5% of total)
ival-div!: 549.0ms (14.2% of total)
ival-log: 360.0ms (9.3% of total)
ival-sub!: 292.0ms (7.6% of total)
ival-neg: 261.0ms (6.8% of total)
adjust: 131.0ms (3.4% of total)
ival-add!: 110.0ms (2.8% of total)
ival-fabs: 105.0ms (2.7% of total)
ival-exp: 72.0ms (1.9% of total)
ival-if: 4.0ms (0.1% of total)
ival->=: 3.0ms (0.1% of total)
Bogosity

rewrite5.7s (21.7%)

Memory
269.4MiB live, 6 142.3MiB allocated; 1.1s collecting garbage
Stop Event
76×iter limit
27×node limit
unsound
saturated
Counts
4 664 → 6 988

preprocess2.3s (8.9%)

Memory
60.0MiB live, 1 920.0MiB allocated; 410ms collecting garbage
Stop Event
18×iter limit
16×node limit
saturated
Compiler

Compiled 11 943 to 2 110 computations (82.3% saved)

eval1.9s (7.2%)

Memory
1.0MiB live, 2 719.7MiB allocated; 576ms collecting garbage
Compiler

Compiled 579 865 to 39 340 computations (93.2% saved)

explain1.6s (6.1%)

Memory
-167.4MiB live, 1 709.5MiB allocated; 579ms collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2510
+.f64#fcancellation1210
-.f64#fcancellation1010
sqrt.f64#fuflow-rescue660
/.f64#fn/u250
/.f64#fu/n250
-.f64#fnan-rescue190
*.f64#fn*o80
*.f64(*.f64 (/.f64 x y) z)n*u70
Confusion
Predicted +Predicted -
+27516
-2391774
Precision
0.5350194552529183
Recall
0.9450171821305842
Confusion?
Predicted +Predicted MaybePredicted -
+275016
-23901774
Precision?
0.5350194552529183
Recall?
0.9450171821305842
Freqs
test
numberfreq
01790
1410
299
35
Total Confusion?
Predicted +Predicted MaybePredicted -
+400
-005
Precision?
1.0
Recall?
1.0
Samples
248.0ms3 694×0valid
133.0ms556×2valid
79.0ms274×1valid
30.0ms84×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 292.0ms
ival-div!: 55.0ms (18.8% of total)
ival-mult!: 53.0ms (18.2% of total)
adjust: 44.0ms (15.1% of total)
ival-sqrt: 33.0ms (11.3% of total)
ival-exp: 29.0ms (9.9% of total)
ival-sub!: 24.0ms (8.2% of total)
ival-log: 13.0ms (4.5% of total)
ival-neg: 12.0ms (4.1% of total)
ival-if: 10.0ms (3.4% of total)
ival-add!: 9.0ms (3.1% of total)
ival-fabs: 6.0ms (2.1% of total)
ival->=: 3.0ms (1% of total)

series1.4s (5.2%)

Memory
29.3MiB live, 1 665.1MiB allocated; 232ms collecting garbage
Counts
674 → 3 990
Calls

183 calls:

TimeVariablePointExpression
81.0ms
x
@-inf
((neg (log (- (/ 1 x) 1))) (log x) x (neg (log (- (/ 1 x) 1))) (+ (log x) x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (+ (* 1/2 x) 1) 1/2 1 (neg (log (- (exp (neg (log x))) 1))) (log (- (exp (neg (log x))) 1)) (- (exp (neg (log x))) 1) (neg (log x)))
59.0ms
x
@inf
((neg (log (- (/ 1 x) 1))) (log x) x (neg (log (- (/ 1 x) 1))) (+ (log x) x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (+ (* 1/2 x) 1) 1/2 1 (neg (log (- (exp (neg (log x))) 1))) (log (- (exp (neg (log x))) 1)) (- (exp (neg (log x))) 1) (neg (log x)))
57.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (log x) x (neg (log (- (/ 1 x) 1))) (+ (log x) x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (+ (* 1/2 x) 1) 1/2 1 (neg (log (- (exp (neg (log x))) 1))) (log (- (exp (neg (log x))) 1)) (- (exp (neg (log x))) 1) (neg (log x)))
54.0ms
c
@0
((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) (/ (* -2 c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) (* (/ (- (sqrt (+ (* (* -4 a) c) (* b b))) b) a) 1/2)) (>= b 0) b 0 (/ (* -2 c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) (* -2 c) -2 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) (* (/ (- (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 (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a)) (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a) (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) (neg (sqrt (* (* a c) -1))) (sqrt (* (* a c) -1)) (* (* a c) -1) (* a c) -1 (/ (+ (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 (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) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (* (sqrt (* (/ c a) -4)) 1/2) (* (/ b a) -1/2)) (sqrt (* (/ c a) -4)) (* (/ c a) -4) (/ c a) (* (/ b a) -1/2) (/ 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))))) (- (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) (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) -1)) 2)) a)) (* (- (/ b a) (* (sqrt (* (/ c a) -1)) 2)) a) (- (/ b a) (* (sqrt (* (/ c a) -1)) 2)) (* (sqrt (* (/ c a) -1)) 2) (sqrt (* (/ c a) -1)) (* (/ c a) -1))
43.0ms
a
@0
((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) (/ (* -2 c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) (* (/ (- (sqrt (+ (* (* -4 a) c) (* b b))) b) a) 1/2)) (>= b 0) b 0 (/ (* -2 c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) (* -2 c) -2 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) (* (/ (- (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 (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a)) (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a) (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) (neg (sqrt (* (* a c) -1))) (sqrt (* (* a c) -1)) (* (* a c) -1) (* a c) -1 (/ (+ (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 (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) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (* (sqrt (* (/ c a) -4)) 1/2) (* (/ b a) -1/2)) (sqrt (* (/ c a) -4)) (* (/ c a) -4) (/ c a) (* (/ b a) -1/2) (/ 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))))) (- (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) (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) -1)) 2)) a)) (* (- (/ b a) (* (sqrt (* (/ c a) -1)) 2)) a) (- (/ b a) (* (sqrt (* (/ c a) -1)) 2)) (* (sqrt (* (/ c a) -1)) 2) (sqrt (* (/ c a) -1)) (* (/ c a) -1))

derivations1.3s (5.1%)

Memory
-31.0MiB live, 1 005.5MiB allocated; 154ms collecting garbage
Stop Event
done
fuel
Compiler

Compiled 5 269 to 591 computations (88.8% saved)

prune1.1s (4.1%)

Memory
-82.3MiB live, 1 489.7MiB allocated; 308ms collecting garbage
Counts
9 855 → 269
Compiler

Compiled 22 803 to 11 066 computations (51.5% saved)

regimes735.0ms (2.8%)

Memory
-35.6MiB live, 1 256.0MiB allocated; 107ms collecting garbage
Counts
606 → 130
Calls

26 calls:

122.0ms
b
70.0ms
x
64.0ms
z
51.0ms
(*.f64 x x)
41.0ms
a
Compiler

Compiled 907 to 795 computations (12.3% saved)

bsearch677.0ms (2.6%)

Memory
-16.4MiB live, 789.5MiB allocated; 92ms collecting garbage
Algorithm
68×binary-search
left-value
Stop Event
58×narrow-enough
10×predicate-same
Samples
296.0ms3 664×0valid
64.0ms637×0invalid
9.0ms80×2valid
Compiler

Compiled 48 529 to 30 001 computations (38.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 236.0ms
ival-mult!: 85.0ms (36% of total)
ival-div!: 50.0ms (21.1% of total)
ival-if: 22.0ms (9.3% of total)
ival-sqrt: 21.0ms (8.9% of total)
ival-sub!: 16.0ms (6.8% of total)
ival-neg: 14.0ms (5.9% of total)
ival-add!: 10.0ms (4.2% of total)
ival->=: 9.0ms (3.8% of total)
ival-fabs: 6.0ms (2.5% of total)
adjust: 3.0ms (1.3% of total)
ival-exp: 1.0ms (0.4% of total)

simplify471.0ms (1.8%)

Memory
3.8MiB live, 371.7MiB allocated; 50ms collecting garbage
Stop Event
node limit

analyze424.0ms (1.6%)

Memory
50.2MiB live, 515.2MiB allocated; 66ms 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)

start0.0ms (0%)

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

end0.0ms (0%)

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

Profiling

Loading profile data...