Herbie run

Date:Sunday, March 2nd, 2025
Commit:141e80a8 on main
Seed:2025061
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:157 592.3 MB

Time bar (total: 3.0min)

sample1.9min (65%)

Memory
846.9MiB live, 98 716.9MiB allocated; 38.8s collecting garbage
Samples
28.6s43 543×2valid
20.2s97 142×1valid
20.2s146 077×0invalid
16.8s7 200×5exit
7.9s87 105×0valid
2.4s3 371×3valid
351.0ms4 219×0exit
8.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.3min
ival-pow: 16.3s (20.1% of total)
ival-tan: 12.2s (15.1% of total)
adjust: 9.4s (11.6% of total)
ival-mult: 6.3s (7.8% of total)
ival-cos: 4.5s (5.6% of total)
ival-log: 4.0s (5% of total)
ival-div: 3.9s (4.8% of total)
ival-sin: 3.7s (4.5% of total)
ival-add: 3.7s (4.5% of total)
ival-sub: 3.5s (4.3% of total)
const: 2.7s (3.4% of total)
ival-exp: 1.9s (2.3% of total)
ival-expm1: 1.8s (2.2% of total)
ival-fabs: 1.4s (1.8% of total)
ival-sqrt: 1.3s (1.6% of total)
ival-log1p: 1.2s (1.4% of total)
ival-neg: 817.0ms (1% of total)
ival-<: 522.0ms (0.6% of total)
ival-and: 401.0ms (0.5% of total)
ival-<=: 369.0ms (0.5% of total)
ival-atan: 348.0ms (0.4% of total)
ival-cbrt: 329.0ms (0.4% of total)
exact: 165.0ms (0.2% of total)
ival-assert: 138.0ms (0.2% of total)
ival-fmin: 85.0ms (0.1% of total)
ival->: 2.0ms (0% of total)
Bogosity

rewrite22.1s (12.3%)

Memory
130.7MiB live, 19 242.2MiB allocated; 4.7s collecting garbage
Stop Event
264×iter limit
109×node limit
Counts
16 218 → 34 772

preprocess7.3s (4.1%)

Memory
138.2MiB live, 6 172.9MiB allocated; 1.2s collecting garbage
Stop Event
56×iter limit
51×node limit
saturated
Compiler

Compiled 17 652 to 4 987 computations (71.7% saved)

eval6.1s (3.4%)

Memory
693.7MiB live, 7 545.8MiB allocated; 1.5s collecting garbage
Compiler

Compiled 1 538 018 to 177 417 computations (88.5% saved)

explain6.1s (3.4%)

Memory
-175.0MiB live, 6 070.8MiB allocated; 1.1s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation416528
log.f64#fsensitivity7640
/.f64#fu/u4530
sqrt.f64#foflow-rescue4380
+.f64#fcancellation3380
/.f64#fu/n1060
pow.f64(pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n))sensitivity580
sqrt.f64#fuflow-rescue300
/.f64(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))))n/u220
(*.f64 b eps)underflow142
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow140
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow142
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow228
(*.f64 a eps)underflow140
-.f64#fnan-rescue220
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o60
(*.f64 x x)overflow67
exp.f64#fsensitivity41
cos.f64(cos.f64 (+.f64 x eps))sensitivity11
/.f64(/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64)))o/o10
(exp.f64 (*.f64 #s(literal 2 binary64) x))overflow1
(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))overflow1
(exp.f64 x)overflow1
(-.f64 (exp.f64 x) #s(literal 1 binary64))overflow1
Confusion
Predicted +Predicted -
+523417
-1521765
Precision
0.9717786854808763
Recall
0.9967625214244906
Confusion?
Predicted +Predicted MaybePredicted -
+5234116
-152181747
Precision?
0.9686057248384118
Recall?
0.9988573605027614
Freqs
test
numberfreq
01782
14575
2646
3119
446
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.9s2 736×2valid
1.2s6 066×1valid
484.0ms5 286×0valid
187.0ms248×3valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.1s
ival-tan: 903.0ms (28.9% of total)
adjust: 462.0ms (14.8% of total)
ival-sin: 256.0ms (8.2% of total)
ival-log: 205.0ms (6.6% of total)
ival-cos: 190.0ms (6.1% of total)
ival-div: 162.0ms (5.2% of total)
ival-sub: 157.0ms (5% of total)
ival-exp: 142.0ms (4.5% of total)
ival-mult: 133.0ms (4.3% of total)
ival-pow: 131.0ms (4.2% of total)
ival-add: 108.0ms (3.5% of total)
ival-sqrt: 98.0ms (3.1% of total)
ival-log1p: 71.0ms (2.3% of total)
ival-expm1: 28.0ms (0.9% of total)
ival-atan: 20.0ms (0.6% of total)
ival-cbrt: 17.0ms (0.5% of total)
ival-true: 13.0ms (0.4% of total)
ival-neg: 12.0ms (0.4% of total)
exact: 9.0ms (0.3% of total)
ival-assert: 7.0ms (0.2% of total)

derivations5.8s (3.2%)

Memory
181.9MiB live, 3 667.0MiB allocated; 588ms collecting garbage
Stop Event
25×fuel
done
Compiler

Compiled 7 621 to 1 774 computations (76.7% saved)

series4.0s (2.2%)

Memory
128.7MiB live, 4 744.6MiB allocated; 741ms collecting garbage
Counts
2 824 → 13 394
Calls

507 calls:

TimeVariablePointExpression
71.0ms
N
@0
((log (+ 1 (pow N -1))) (pow N -1) N -1 (- (log (+ N 1)) (log N)) (/ (- 1 (/ 1/2 N)) N) (- 1 (/ 1/2 N)) 1 (/ 1/2 N) 1/2 (- (log (+ N 1)) (log N)) (/ (+ (/ (- (/ 1/3 N) 1/2) N) 1) N) (+ (/ (- (/ 1/3 N) 1/2) N) 1) (/ (- (/ 1/3 N) 1/2) N) (- (/ 1/3 N) 1/2) (/ 1/3 N) 1/3 (- (log (+ N 1)) (log N)) (/ (+ (* (/ (+ (* (/ (- (/ 1/4 N) 1/3) N) -1) -1/2) N) -1) -1) (neg N)) (+ (* (/ (+ (* (/ (- (/ 1/4 N) 1/3) N) -1) -1/2) N) -1) -1) (/ (+ (* (/ (- (/ 1/4 N) 1/3) N) -1) -1/2) N) (+ (* (/ (- (/ 1/4 N) 1/3) N) -1) -1/2) (/ (- (/ 1/4 N) 1/3) N) (- (/ 1/4 N) 1/3) (/ 1/4 N) 1/4 -1/2 (neg N) (log (/ (- N -1) N)) (/ (- N -1) N) (- N -1))
67.0ms
x
@0
((- (/ 1 x) (/ 1 (tan x))) (* (+ (* (* x x) 1/45) 1/3) x) (+ (* (* x x) 1/45) 1/3) (* (+ (* (pow x -2) 1/3) 1/45) (* x x)) (+ (* (pow x -2) 1/3) 1/45) (pow x -2) x -2 1/3 1/45 (* x x) (- (/ 1 x) (/ 1 (tan x))) (/ (* (- (pow (* (* x x) 1/45) 2) 1/9) x) (+ (* (* x x) 1/45) -1/3)) (* (- (pow (* (* x x) 1/45) 2) 1/9) x) (- (pow (* (* x x) 1/45) 2) 1/9) (pow (* (* x x) 1/45) 2) (* (* x x) 1/45) 2 1/9 (+ (* (* x x) 1/45) -1/3) -1/3 (- (/ 1 x) (/ 1 (tan x))) (/ (* (+ (* (pow (* x x) 3) 1/91125) 1/27) x) (+ (* (* (* x x) 1/45) (+ (* (* x x) 1/45) -1/3)) 1/9)) (* (+ (* (pow (* x x) 3) 1/91125) 1/27) x) (+ (* (pow (* x x) 3) 1/91125) 1/27) (pow (* x x) 3) 3 1/91125 1/27 (+ (* (* (* x x) 1/45) (+ (* (* x x) 1/45) -1/3)) 1/9) (- (/ 1 x) (/ 1 (tan x))) (+ (* (* (* x x) 1/45) x) (* 1/3 x)) (* 1/3 x))
59.0ms
n
@0
((- (- (* (+ n 1) (log (+ n 1))) (* n (log n))) 1) (- (* (+ n 1) (log (+ n 1))) (* n (log n))) (* (+ n 1) (log (+ n 1))) (+ n 1) n 1 (log (+ n 1)) (* n (log n)) (log n))
59.0ms
c
@0
((/ (- (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a)) (neg (/ (+ (* a (/ (* c c) (* b b))) c) b)) (/ (+ (* a (/ (* c c) (* b b))) c) b) (+ (* a (/ (* c c) (* b b))) c) a (/ (* c c) (* b b)) (* c c) c (* b b) b (/ (- (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) (* 2 a) 2 (/ (- (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a)) (sqrt (* (/ c a) -1)) (neg (sqrt (neg (/ c a)))) (sqrt (neg (/ c a))) (neg (/ c a)) (/ c a) (/ (- (neg b) (sqrt (+ (* (* c a) -4) (* b b)))) (+ a a)) (- (neg b) (sqrt (+ (* (* c a) -4) (* b b)))) (sqrt (+ (* (* c a) -4) (* b b))) (+ (* (* c a) -4) (* b b)) (* (* a c) -4) (* a c) -4 (+ a a) (/ (- (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (+ a a)) (- (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (neg (/ (+ (* (/ (pow (* a c) 2) (* b b)) 2) (* 2 (* a c))) b)) (/ (+ (* (/ (pow (* a c) 2) (* b b)) 2) (* 2 (* a c))) b) (+ (* (/ (pow (* a c) 2) (* b b)) 2) (* 2 (* a c))) (/ (pow (* a c) 2) (* b b)) (pow (* a c) 2) (* 2 (* a c)))
49.0ms
n
@0
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (neg (/ (+ (* -1 (+ (log (+ 1 x)) (/ (+ (* (/ (+ (* (/ (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) n) -1) (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n))) (log x)) n)) (/ (+ (* -1 (+ (log (+ 1 x)) (/ (+ (* (/ (+ (* (/ (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) n) -1) (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n))) (log x)) n) (+ (* -1 (+ (log (+ 1 x)) (/ (+ (* (/ (+ (* (/ (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) n) -1) (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n))) (log x)) -1 (+ (log (+ 1 x)) (/ (+ (* (/ (+ (* (/ (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) n) -1) (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n)) (log (+ 1 x)) x (/ (+ (* (/ (+ (* (/ (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) n) -1) (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (+ (* (/ (+ (* (/ (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) n) -1) (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) (/ (+ (* (/ (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) n) -1) (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)))) n) (+ (* (/ (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) n) -1) (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)))) (/ (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) n) (* 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4))) 1/24 (- (pow (log (+ 1 x)) 4) (pow (log x) 4)) (pow (log (+ 1 x)) 4) 4 (pow (log x) 4) (log x) n (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3))) -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) (pow (log (+ 1 x)) 3) 3 (pow (log x) 3) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) (pow (log (+ 1 x)) 2) 2 (pow (log x) 2) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) 1 (pow x (/ 1 n)) (/ 1 n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ (/ x n) 1) (/ x n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ x 1) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (exp (/ (log (+ 1 x)) n)) (/ (log (+ 1 x)) n))

prune2.9s (1.6%)

Memory
-484.0MiB live, 3 976.3MiB allocated; 1.0s collecting garbage
Counts
41 602 → 1 563
Compiler

Compiled 86 728 to 45 204 computations (47.9% saved)

regimes2.7s (1.5%)

Memory
27.4MiB live, 3 267.3MiB allocated; 463ms collecting garbage
Counts
2 989 → 303
Calls

43 calls:

849.0ms
x
246.0ms
eps
95.0ms
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
85.0ms
b_2
83.0ms
a
Compiler

Compiled 1 919 to 1 822 computations (5.1% saved)

analyze2.2s (1.2%)

Memory
-62.1MiB live, 1 492.9MiB allocated; 1.2s collecting garbage
Algorithm
28×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%61.1%38.9%0%0%0%0
7.4%4.5%56.6%38.9%0%0%0%1
22.3%13.6%47.5%38.9%0%0%0%2
40.2%23.5%34.9%38.9%0%2.7%0%3
53.4%31.1%27.2%38.9%0%2.8%0%4
63%36.3%21.3%38.9%0%3.6%0%5
65.9%37.5%19.4%38.9%0%4.2%0%6
70.4%38.8%16.3%38.9%0%6%0%7
73.6%40.2%14.4%38.9%0%6.5%0%8
76.3%40.9%12.7%38.9%0%7.5%0%9
78.4%41.4%11.4%38.9%0%8.3%0%10
81.1%42.4%9.9%38.9%0%8.8%0%11
82.3%42.7%9.2%38.9%0%9.3%0%12
Compiler

Compiled 483 to 337 computations (30.2% saved)

bsearch1.9s (1.1%)

Memory
-37.3MiB live, 1 439.8MiB allocated; 993ms collecting garbage
Algorithm
76×binary-search
25×left-value
Stop Event
74×narrow-enough
predicate-same
Samples
507.0ms5 485×0valid
146.0ms1 721×0invalid
95.0ms300×2valid
68.0ms441×1valid
4.0ms14×3valid
2.0ms18×0exit
Compiler

Compiled 30 487 to 22 097 computations (27.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 515.0ms
ival-mult: 145.0ms (28.2% of total)
ival-div: 78.0ms (15.2% of total)
ival-sub: 72.0ms (14% of total)
ival-sqrt: 45.0ms (8.7% of total)
ival-pow: 36.0ms (7% of total)
adjust: 33.0ms (6.4% of total)
ival-neg: 32.0ms (6.2% of total)
ival-add: 23.0ms (4.5% of total)
ival-cos: 17.0ms (3.3% of total)
ival-exp: 10.0ms (1.9% of total)
ival-expm1: 8.0ms (1.6% of total)
ival-true: 6.0ms (1.2% of total)
ival-assert: 4.0ms (0.8% of total)
exact: 4.0ms (0.8% of total)
ival-cbrt: 1.0ms (0.2% of total)

simplify1.6s (0.9%)

Memory
-146.2MiB live, 1 253.8MiB allocated; 354ms collecting garbage
Stop Event
28×node limit

start1.0ms (0%)

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

end0.0ms (0%)

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

Profiling

Loading profile data...