Herbie run

Date:Wednesday, March 26th, 2025
Commit:a931ba94 on hardware-accelerators
Seed:2025085
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:25 926.2 MB

Time bar (total: 26.0s)

sample9.0s (34.8%)

Memory
183.3MiB live, 9 580.4MiB allocated; 5.1s collecting garbage
Samples
5.4s70 165×0valid
763.0ms4 127×2valid
149.0ms1 905×0invalid
1.0ms12×1valid
Precisions
Click to see histograms. Total time spent on operations: 3.1s
ival-mult!: 710.0ms (23.3% of total)
ival-div!: 625.0ms (20.5% of total)
ival-sqrt: 486.0ms (15.9% of total)
ival-sub!: 348.0ms (11.4% of total)
ival-neg: 255.0ms (8.4% of total)
adjust: 232.0ms (7.6% of total)
ival-fabs: 113.0ms (3.7% of total)
ival-log: 104.0ms (3.4% of total)
ival-exp: 88.0ms (2.9% of total)
ival-add!: 85.0ms (2.8% of total)
ival-if: 4.0ms (0.1% of total)
ival->=: 3.0ms (0.1% of total)
Bogosity

rewrite5.0s (19.2%)

Memory
254.5MiB live, 4 692.5MiB allocated; 905ms collecting garbage
Stop Event
73×iter limit
27×node limit
unsound
saturated
Counts
4 355 → 6 657

preprocess2.4s (9.4%)

Memory
0.3MiB live, 1 926.2MiB allocated; 347ms collecting garbage
Stop Event
18×iter limit
16×node limit
saturated
Compiler

Compiled 11 481 to 1 616 computations (85.9% saved)

explain1.9s (7.3%)

Memory
-12.1MiB live, 1 771.0MiB allocated; 491ms collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2780
+.f64#fcancellation1250
-.f64#fcancellation1060
sqrt.f64#fuflow-rescue770
/.f64#fu/n350
/.f64#fn/u240
-.f64#fnan-rescue190
*.f64(*.f64 (/.f64 x y) z)n*u60
*.f64(*.f64 (/.f64 x y) z)n*o40
/.f64(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))n/o10
(*.f64 #s(literal 2 binary64) a)overflow1
log.f64(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))oflow-rescue10
(/.f64 #s(literal 1 binary64) x)overflow1
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))overflow1
Confusion
Predicted +Predicted -
+30715
-2181764
Precision
0.5847619047619048
Recall
0.953416149068323
Confusion?
Predicted +Predicted MaybePredicted -
+307015
-21801764
Precision?
0.5847619047619048
Recall?
0.953416149068323
Freqs
test
numberfreq
01779
1385
2129
311
Total Confusion?
Predicted +Predicted MaybePredicted -
+500
-004
Precision?
1.0
Recall?
1.0
Samples
528.0ms3 686×0valid
176.0ms558×2valid
88.0ms302×1valid
22.0ms62×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 518.0ms
ival-mult!: 198.0ms (38.2% of total)
ival-div!: 90.0ms (17.4% of total)
ival-sqrt: 74.0ms (14.3% of total)
ival-if: 40.0ms (7.7% of total)
adjust: 39.0ms (7.5% of total)
ival-sub!: 33.0ms (6.4% of total)
ival-neg: 13.0ms (2.5% of total)
ival-add!: 9.0ms (1.7% of total)
ival-fabs: 8.0ms (1.5% of total)
ival-log: 7.0ms (1.4% of total)
ival-exp: 4.0ms (0.8% of total)
ival->=: 3.0ms (0.6% of total)

eval1.6s (6.2%)

Memory
14.4MiB live, 1 975.0MiB allocated; 346ms collecting garbage
Samples
23.0ms370×0valid
9.0ms142×0invalid
Compiler

Compiled 505 453 to 37 148 computations (92.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult!: 11.0ms (78.2% of total)
ival-add!: 3.0ms (21.3% of total)
adjust: 0.0ms (0% of total)

derivations1.4s (5.4%)

Memory
128.2MiB live, 752.6MiB allocated; 65ms collecting garbage
Stop Event
done
fuel
Compiler

Compiled 5 465 to 626 computations (88.5% saved)

series1.1s (4.3%)

Memory
-63.4MiB live, 1 418.3MiB allocated; 180ms collecting garbage
Counts
669 → 3 686
Calls

177 calls:

TimeVariablePointExpression
54.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 (log (pow (- (exp (neg (log x))) 1) -1)) (pow (- (exp (neg (log x))) 1) -1) (- (exp (neg (log x))) 1) (neg (log x)) -1)
51.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 (log (pow (- (exp (neg (log x))) 1) -1)) (pow (- (exp (neg (log x))) 1) -1) (- (exp (neg (log x))) 1) (neg (log x)) -1)
38.0ms
c
@inf
((if (>= b 0) (- (/ (neg b) (* 2 a)) (/ (sqrt (+ (* (* -4 a) c) (* b b))) (* 2 a))) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (>= b 0) b 0 (- (/ (neg b) (* 2 a)) (/ (sqrt (+ (* (* -4 a) c) (* b b))) (* 2 a))) (/ (neg b) (* 2 a)) (neg b) (* 2 a) 2 a (/ (sqrt (+ (* (* -4 a) c) (* b b))) (* 2 a)) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 c (* b b) (/ (* 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))) (- (* b b) (* (* 4 a) c)) (* (* 4 a) c) (* 4 a) 4 (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) (/ (* 2 c) (- (sqrt (+ (* (* -4 a) c) (* b 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 (/ (* 2 c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b)) (- (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)) (/ (+ (* a (/ c b)) (neg b)) a) (+ (* a (/ c b)) (neg b)) (/ c 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)))) (/ (* 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))))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))))
37.0ms
x
@inf
((exp (neg (- 1 (* x x)))) (neg (- 1 (* x x))) (- 1 (* x x)) 1 (* x x) x)
37.0ms
x
@0
((fabs (+ (* (/ x y) z) (/ (- -4 x) y))) (+ (* (/ x y) z) (/ (- -4 x) y)) (/ x y) x y z (/ (- -4 x) y) (- -4 x) -4 (fabs (/ (+ (* (- x -4) y) (* y (* (neg z) x))) (* y y))) (/ (+ (* (- x -4) y) (* y (* (neg z) x))) (* y y)) (/ (+ 4 x) y) (+ 4 x) 4 (fabs (/ (+ (* z x) (- -4 x)) y)) (/ (+ (* z x) (- -4 x)) y) (+ (* z x) (- -4 x)) (* x z) (fabs (/ (+ (* (- x -4) y) (* y (* (neg z) x))) (* y y))) (/ (+ (* (- x -4) y) (* y (* (neg z) x))) (* y y)) (+ (* (- x -4) y) (* y (* (neg z) x))) (* (neg x) (* y z)) (neg x) (* y z) (* y y) (fabs (/ (+ (* (+ (* 64 (pow y -3)) (pow (/ x y) 3)) y) (* (+ (* 16 (pow y -2)) (* (/ x y) (- (/ x y) (/ 4 y)))) (* (neg z) x))) (* (+ (* 16 (pow y -2)) (* (/ x y) (- (/ x y) (/ 4 y)))) y))) (/ (+ (* (+ (* 64 (pow y -3)) (pow (/ x y) 3)) y) (* (+ (* 16 (pow y -2)) (* (/ x y) (- (/ x y) (/ 4 y)))) (* (neg z) x))) (* (+ (* 16 (pow y -2)) (* (/ x y) (- (/ x y) (/ 4 y)))) y)) (+ (* (+ (* 64 (pow y -3)) (pow (/ x y) 3)) y) (* (+ (* 16 (pow y -2)) (* (/ x y) (- (/ x y) (/ 4 y)))) (* (neg z) x))) (+ (* 64 (pow y -3)) (pow (/ x y) 3)) 64 (pow y -3) -3 (pow (/ x y) 3) 3 (* (+ (* 16 (pow y -2)) (* (/ x y) (- (/ x y) (/ 4 y)))) (* (neg z) x)) (+ (* 16 (pow y -2)) (* (/ x y) (- (/ x y) (/ 4 y)))) 16 (pow y -2) -2 (* (/ x y) (- (/ x y) (/ 4 y))) (- (/ x y) (/ 4 y)) (/ 4 y) (* (neg z) x) (neg z) (* (+ (* 16 (pow y -2)) (* (/ x y) (- (/ x y) (/ 4 y)))) y))

regimes880.0ms (3.4%)

Memory
76.2MiB live, 1 040.4MiB allocated; 109ms collecting garbage
Counts
720 → 140
Calls

26 calls:

190.0ms
b
141.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
80.0ms
x
46.0ms
a
46.0ms
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
Compiler

Compiled 960 to 840 computations (12.5% saved)

prune795.0ms (3.1%)

Memory
-77.7MiB live, 1 017.3MiB allocated; 261ms collecting garbage
Counts
9 466 → 268
Compiler

Compiled 22 705 to 11 035 computations (51.4% saved)

bsearch669.0ms (2.6%)

Memory
58.7MiB live, 632.6MiB allocated; 54ms collecting garbage
Algorithm
74×binary-search
left-value
Stop Event
65×narrow-enough
predicate-same
Samples
261.0ms4 016×0valid
61.0ms725×0invalid
9.0ms80×2valid
Compiler

Compiled 51 550 to 30 862 computations (40.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 207.0ms
ival-mult!: 70.0ms (33.9% of total)
ival-div!: 40.0ms (19.3% of total)
ival-sqrt: 24.0ms (11.6% of total)
ival-sub!: 16.0ms (7.7% of total)
ival-if: 13.0ms (6.3% of total)
ival-neg: 13.0ms (6.3% of total)
ival-add!: 10.0ms (4.8% of total)
ival->=: 9.0ms (4.4% of total)
ival-fabs: 7.0ms (3.4% of total)
adjust: 3.0ms (1.5% of total)
ival-exp: 1.0ms (0.5% of total)

simplify663.0ms (2.5%)

Memory
-183.8MiB live, 546.7MiB allocated; 124ms collecting garbage
Stop Event
node limit

analyze491.0ms (1.9%)

Memory
60.3MiB live, 572.5MiB allocated; 93ms 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.8MiB live, 0.8MiB allocated; 0ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...