Herbie run

Date:Friday, March 14th, 2025
Commit:a50d62fb on warn-mpfr-threads
Seed:2025073
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:156 507.8 MB

Time bar (total: 3.0min)

sample1.9min (64%)

Memory
1 181.2MiB live, 99 035.7MiB allocated; 35.7s collecting garbage
Samples
27.3s44 027×2valid
21.2s96 882×1valid
18.7s144 445×0invalid
16.5s6 963×5exit
8.6s86 971×0valid
2.3s3 280×3valid
419.0ms4 167×0exit
10.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.3min
ival-pow: 15.5s (19.6% of total)
ival-tan: 11.7s (14.8% of total)
adjust: 8.3s (10.5% of total)
ival-mult: 5.7s (7.3% of total)
ival-cos: 4.4s (5.6% of total)
ival-div: 4.2s (5.3% of total)
ival-sub: 4.0s (5.1% of total)
ival-add: 3.8s (4.9% of total)
ival-log: 3.5s (4.5% of total)
ival-sin: 3.1s (3.9% of total)
const: 2.7s (3.4% of total)
ival-expm1: 2.1s (2.7% of total)
ival-log1p: 1.9s (2.4% of total)
ival-exp: 1.8s (2.3% of total)
ival-fabs: 1.8s (2.2% of total)
ival-sqrt: 1.1s (1.4% of total)
ival-<: 711.0ms (0.9% of total)
ival-atan: 560.0ms (0.7% of total)
ival-cbrt: 491.0ms (0.6% of total)
ival-<=: 424.0ms (0.5% of total)
ival-and: 383.0ms (0.5% of total)
ival-neg: 335.0ms (0.4% of total)
exact: 153.0ms (0.2% of total)
ival-assert: 135.0ms (0.2% of total)
ival-fmin: 79.0ms (0.1% of total)
ival->: 1.0ms (0% of total)
Bogosity

rewrite22.5s (12.5%)

Memory
-181.8MiB live, 18 126.6MiB allocated; 5.4s collecting garbage
Stop Event
259×iter limit
106×node limit
Counts
14 999 → 35 832

preprocess7.9s (4.4%)

Memory
291.3MiB live, 6 182.9MiB allocated; 2.3s collecting garbage
Stop Event
56×iter limit
51×node limit
saturated
Compiler

Compiled 19 256 to 5 131 computations (73.4% saved)

eval7.4s (4.1%)

Memory
-281.3MiB live, 7 500.1MiB allocated; 3.4s collecting garbage
Compiler

Compiled 1 583 633 to 177 848 computations (88.8% saved)

derivations6.1s (3.4%)

Memory
118.3MiB live, 3 938.7MiB allocated; 688ms collecting garbage
Stop Event
21×fuel
done
Compiler

Compiled 8 445 to 1 859 computations (78% saved)

explain6.0s (3.4%)

Memory
-58.6MiB live, 5 841.3MiB allocated; 1.2s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation416632
log.f64#fsensitivity7631
/.f64#fu/u4410
sqrt.f64#foflow-rescue3840
+.f64#fcancellation3560
/.f64#fu/n1020
pow.f64(pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n))sensitivity700
sqrt.f64#fuflow-rescue320
-.f64#fnan-rescue250
/.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/u190
(*.f64 b eps)underflow143
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow166
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow143
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow236
(*.f64 a eps)underflow166
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o40
(*.f64 x x)overflow67
/.f64(/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64)))o/o40
(exp.f64 (*.f64 #s(literal 2 binary64) x))overflow4
(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))overflow4
(exp.f64 x)overflow4
(-.f64 (exp.f64 x) #s(literal 1 binary64))overflow4
exp.f64(exp.f64 (neg.f64 x))sensitivity21
sin.f64(sin.f64 (+.f64 x eps))sensitivity11
tan.f64(tan.f64 (+.f64 x eps))sensitivity11
Confusion
Predicted +Predicted -
+523619
-1511762
Precision
0.9719695563393355
Recall
0.9963843958135109
Confusion?
Predicted +Predicted MaybePredicted -
+5236163
-151201742
Precision?
0.9684676378388346
Recall?
0.9994291151284491
Freqs
test
numberfreq
01781
14595
2646
3101
445
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.6s2 768×2valid
1.5s6 118×1valid
445.0ms5 256×0valid
147.0ms194×3valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.9s
ival-tan: 608.0ms (20.7% of total)
adjust: 431.0ms (14.7% of total)
ival-log: 297.0ms (10.1% of total)
ival-cos: 219.0ms (7.5% of total)
ival-sin: 188.0ms (6.4% of total)
ival-sub: 185.0ms (6.3% of total)
ival-sqrt: 179.0ms (6.1% of total)
ival-div: 161.0ms (5.5% of total)
ival-exp: 135.0ms (4.6% of total)
ival-pow: 134.0ms (4.6% of total)
ival-add: 127.0ms (4.3% of total)
ival-mult: 92.0ms (3.1% of total)
ival-log1p: 77.0ms (2.6% of total)
ival-expm1: 30.0ms (1% of total)
ival-atan: 21.0ms (0.7% of total)
ival-cbrt: 16.0ms (0.5% of total)
ival-true: 12.0ms (0.4% of total)
ival-neg: 12.0ms (0.4% of total)
exact: 9.0ms (0.3% of total)
ival-assert: 6.0ms (0.2% of total)

series4.6s (2.6%)

Memory
-369.4MiB live, 4 120.0MiB allocated; 2.5s collecting garbage
Counts
2 672 → 12 327
Calls

498 calls:

TimeVariablePointExpression
565.0ms
N
@inf
((atan2 (- (- N -1) N) (- (+ (* N N) N) -1)) (- (- N -1) N) 1 (- (+ (* N N) N) -1) (+ (* N N) N) N -1 (atan2 (- (- N -1) N) (+ N (+ (* N N) 1))) (+ N (+ (* N N) 1)) (- N -1) (atan2 (- (- N -1) N) (+ (+ (* N N) 1) N)) (+ (+ (* N N) 1) N) (+ (* N N) 1) (atan2 (- (- N -1) N) (+ (* (/ (- (pow N 3) -1) (+ (* N N) (- 1 N))) N) 1)) (+ (* (/ (- (pow N 3) -1) (+ (* N N) (- 1 N))) N) 1) (/ (- (pow N 3) -1) (+ (* N N) (- 1 N))) (- (pow N 3) -1) (pow N 3) 3 (+ (* N N) (- 1 N)) (- 1 N) (atan2 (- (- N -1) N) (+ N (/ (- (pow N 6) -1) (+ (* (* N N) (+ (* N N) -1)) 1)))) (- (- N -1) N) (+ N (/ (- (pow N 6) -1) (+ (* (* N N) (+ (* N N) -1)) 1))) (/ (- (pow N 6) -1) (+ (* (* N N) (+ (* N N) -1)) 1)) (- (pow N 6) -1) (pow N 6) 6 (+ (* (* N N) (+ (* N N) -1)) 1) (* N N) (+ (* N N) -1))
418.0ms
x
@inf
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (neg (/ (/ (- (* (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n)))) (pow (log x) 2)) (- (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (log x))) n)) (/ (/ (- (* (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n)))) (pow (log x) 2)) (- (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (log x))) n) (/ (- (* (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n)))) (pow (log x) 2)) (- (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (log x))) (- (* (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n)))) (pow (log x) 2)) (* (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n)))) (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n)) (log (+ 1 x)) x (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n) (* 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) (log x) n (- (neg (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (log x)) (/ (- (* -1 (* n (+ (log x) (log (+ 1 x))))) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (- (* -1 (* n (+ (log x) (log (+ 1 x))))) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) (* -1 (* n (+ (log x) (log (+ 1 x))))) -1 (* n (+ (log x) (log (+ 1 x)))) (+ (log x) (log (+ 1 x))) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (neg (/ (+ (* -1 (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (log x)) n)) (- (/ x n) (+ (* 1/2 (/ (pow (log x) 2) (* n n))) (/ (log x) n))) (/ x n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (neg (/ (+ (* -1 (+ (log (+ 1 x)) (/ (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) n))) (log x)) n)) (- (/ x n) (+ (* 1/2 (/ (pow (log x) 2) (* n n))) (/ (log x) n))) (+ (* 1/2 (/ (pow (log x) 2) (* n n))) (/ (log x) n)) (/ (log x) n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (exp (/ (log (+ 1 x)) n)) (/ (log (+ 1 x)) n) (pow x (/ 1 n)) 1 (- (/ (pow (pow (+ 1 x) (pow n -1)) 2) (+ (pow (+ 1 x) (pow n -1)) (pow x (pow n -1)))) (/ (pow (pow x (pow n -1)) 2) (+ (pow (+ 1 x) (pow n -1)) (pow x (pow n -1))))) (/ (pow (pow (+ 1 x) (pow n -1)) 2) (+ (pow (+ 1 x) (pow n -1)) (pow x (pow n -1)))) (pow (pow (+ 1 x) (pow n -1)) 2) (pow (+ 1 x) (pow n -1)) (+ 1 x) (pow n -1) (+ (pow (+ 1 x) (pow n -1)) (pow x (pow n -1))) (pow x (pow n -1)) (/ (pow (pow x (pow n -1)) 2) (+ (pow (+ 1 x) (pow n -1)) (pow x (pow n -1)))) (pow (pow x (pow n -1)) 2))
97.0ms
eps
@inf
((/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))) (/ (/ (+ b a) a) b) (/ (+ b a) a) (+ b a) b a (/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))) (pow a -1) -1 (/ (* (- (exp (* (+ b a) eps)) 1) eps) (* (- (exp (* b eps)) 1) (- (exp (* a eps)) 1))) (* (- (exp (* (+ b a) eps)) 1) eps) (- (exp (* (+ b a) eps)) 1) (* (+ b a) eps) eps (* (- (exp (* b eps)) 1) (- (exp (* a eps)) 1)) (- (exp (* b eps)) 1) (* b eps) (- (exp (* a eps)) 1) (* a eps) (/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))) (/ (+ (* (+ (* eps (/ (pow (exp eps) b) (- (exp (* b eps)) 1))) (* -1/2 eps)) a) 1) a) (+ (* (+ (* eps (/ (pow (exp eps) b) (- (exp (* b eps)) 1))) (* -1/2 eps)) a) 1) (+ (* eps (/ (pow (exp eps) b) (- (exp (* b eps)) 1))) (* -1/2 eps)) (/ (pow (exp eps) b) (- (exp (* b eps)) 1)) (pow (exp eps) b) (exp eps) (* -1/2 eps) -1/2 1 (* (/ eps (- (exp (* a eps)) 1)) (/ (- (exp (* (+ b a) eps)) 1) (- (exp (* b eps)) 1))) (/ eps (- (exp (* a eps)) 1)) (/ (- (exp (* (+ b a) eps)) 1) (- (exp (* b eps)) 1)))
80.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))
63.0ms
x
@-inf
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ x 1) x 1 (/ 1 n) n (pow x (/ 1 n)))

regimes2.8s (1.5%)

Memory
62.5MiB live, 3 462.9MiB allocated; 440ms collecting garbage
Counts
3 207 → 324
Calls

43 calls:

822.0ms
x
322.0ms
eps
137.0ms
(-.f64 (tan.f64 (+.f64 x eps)) (tan.f64 x))
101.0ms
(exp.f64 x)
101.0ms
b
Compiler

Compiled 1 987 to 1 903 computations (4.2% saved)

prune2.6s (1.4%)

Memory
235.1MiB live, 3 826.5MiB allocated; 500ms collecting garbage
Counts
42 022 → 1 499
Compiler

Compiled 86 927 to 45 194 computations (48% saved)

bsearch1.8s (1%)

Memory
65.9MiB live, 1 651.9MiB allocated; 200ms collecting garbage
Algorithm
99×binary-search
16×left-value
Stop Event
92×narrow-enough
predicate-same
Samples
441.0ms4 934×0valid
298.0ms1 252×1valid
288.0ms704×2valid
81.0ms1 008×0invalid
6.0ms22×3valid
5.0ms59×0exit
Compiler

Compiled 39 438 to 28 397 computations (28% saved)

Precisions
Click to see histograms. Total time spent on operations: 872.0ms
ival-pow: 289.0ms (33.2% of total)
ival-mult: 198.0ms (22.7% of total)
adjust: 90.0ms (10.3% of total)
ival-div: 77.0ms (8.8% of total)
ival-sub: 66.0ms (7.6% of total)
ival-sqrt: 46.0ms (5.3% of total)
ival-add: 41.0ms (4.7% of total)
ival-neg: 31.0ms (3.6% of total)
ival-cbrt: 9.0ms (1% of total)
ival-cos: 7.0ms (0.8% of total)
ival-true: 6.0ms (0.7% of total)
exact: 5.0ms (0.6% of total)
ival-assert: 3.0ms (0.3% of total)
ival-expm1: 2.0ms (0.2% of total)

analyze1.6s (0.9%)

Memory
56.1MiB live, 1 684.2MiB allocated; 408ms 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)

simplify1.5s (0.8%)

Memory
-183.8MiB live, 1 134.2MiB allocated; 213ms collecting garbage
Stop Event
28×node limit

start1.0ms (0%)

Memory
2.6MiB live, 2.5MiB allocated; 0ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...