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:142 020.4 MB

Time bar (total: 2.8min)

sample1.7min (58.9%)

Memory
867.5MiB live, 83 169.2MiB allocated; 28.9s collecting garbage
Samples
26.0s45 048×2valid
16.9s96 643×1valid
16.8s144 260×0invalid
11.5s5 994×5exit
6.7s85 915×0valid
2.4s3 561×3valid
312.0ms4 111×0exit
155.0ms1 136×1exit
15.0ms4exit
12.0ms3exit
1.0ms2exit
1.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.1min
ival-pow: 11.9s (18.2% of total)
ival-tan: 11.8s (18% of total)
adjust: 6.7s (10.1% of total)
ival-mult!: 5.1s (7.8% of total)
ival-div!: 4.0s (6.1% of total)
ival-cos: 4.0s (6.1% of total)
ival-log: 3.8s (5.9% of total)
ival-sin: 3.4s (5.1% of total)
ival-expm1: 3.1s (4.8% of total)
ival-sub!: 2.1s (3.3% of total)
ival-exp: 1.8s (2.8% of total)
ival-fabs: 1.6s (2.5% of total)
ival-add!: 1.6s (2.4% of total)
ival-log1p: 1.2s (1.8% of total)
ival-sqrt: 1.1s (1.7% of total)
ival-<: 491.0ms (0.7% of total)
ival-<=: 457.0ms (0.7% of total)
ival-and: 348.0ms (0.5% of total)
ival-atan: 345.0ms (0.5% of total)
ival-cbrt: 275.0ms (0.4% of total)
ival-neg: 263.0ms (0.4% of total)
ival-assert: 63.0ms (0.1% of total)
ival-fmin: 58.0ms (0.1% of total)
ival->: 1.0ms (0% of total)
Bogosity

rewrite21.7s (12.9%)

Memory
-47.6MiB live, 17 717.2MiB allocated; 4.5s collecting garbage
Stop Event
262×iter limit
107×node limit
Counts
13 920 → 32 146

preprocess15.6s (9.3%)

Memory
462.7MiB live, 9 047.3MiB allocated; 1.6s collecting garbage
Stop Event
56×iter limit
51×node limit
saturated
Samples
2.0s33 024×0valid
Compiler

Compiled 16 638 to 4 361 computations (73.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0s
ival-mult!: 831.0ms (79.9% of total)
ival-add!: 204.0ms (19.6% of total)
adjust: 6.0ms (0.6% of total)

derivations6.7s (4%)

Memory
57.1MiB live, 3 619.2MiB allocated; 493ms collecting garbage
Stop Event
24×fuel
done
Samples
55.0ms1 024×0valid
Compiler

Compiled 7 674 to 1 718 computations (77.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult!: 20.0ms (71.8% of total)
ival-add!: 8.0ms (28.7% of total)
adjust: 0.0ms (0% of total)

eval6.2s (3.7%)

Memory
32.5MiB live, 7 772.8MiB allocated; 2.3s collecting garbage
Samples
425.0ms4 275×0valid
22.0ms333×0invalid
Compiler

Compiled 1 221 867 to 150 276 computations (87.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 252.0ms
ival-mult!: 157.0ms (62.3% of total)
ival-add!: 94.0ms (37.3% of total)
adjust: 1.0ms (0.4% of total)

explain5.4s (3.2%)

Memory
21.1MiB live, 5 500.6MiB allocated; 984ms collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation416242
log.f64#fsensitivity7661
/.f64#fu/u4310
sqrt.f64#foflow-rescue3820
+.f64#fcancellation3280
/.f64#fu/n1200
pow.f64(pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n))sensitivity850
sqrt.f64#fuflow-rescue460
-.f64#fnan-rescue240
/.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/u170
(*.f64 b eps)underflow149
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow146
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow149
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow231
(*.f64 a eps)underflow146
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o50
(*.f64 x x)overflow69
exp.f64(exp.f64 (neg.f64 x))sensitivity41
/.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 -
+519723
-1541794
Precision
0.9712203326481031
Recall
0.9955938697318008
Confusion?
Predicted +Predicted MaybePredicted -
+5197185
-154261768
Precision?
0.9666357738646896
Recall?
0.9990421455938697
Freqs
test
numberfreq
01817
14531
2664
3112
444
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.6s2 862×2valid
1.2s6 062×1valid
393.0ms5 220×0valid
164.0ms192×3valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.5s
ival-tan: 772.0ms (30.8% of total)
adjust: 352.0ms (14% of total)
ival-log: 190.0ms (7.6% of total)
ival-cos: 182.0ms (7.3% of total)
ival-sin: 140.0ms (5.6% of total)
ival-exp: 121.0ms (4.8% of total)
ival-div!: 120.0ms (4.8% of total)
ival-sqrt: 117.0ms (4.7% of total)
ival-pow: 116.0ms (4.6% of total)
ival-sub!: 98.0ms (3.9% of total)
ival-log1p: 96.0ms (3.8% of total)
ival-mult!: 79.0ms (3.1% of total)
ival-add!: 49.0ms (2% of total)
ival-expm1: 23.0ms (0.9% of total)
ival-atan: 21.0ms (0.8% of total)
ival-cbrt: 16.0ms (0.6% of total)
ival-neg: 14.0ms (0.6% of total)

series3.6s (2.1%)

Memory
111.5MiB live, 4 151.1MiB allocated; 654ms collecting garbage
Counts
2 546 → 11 374
Calls

498 calls:

TimeVariablePointExpression
77.0ms
n
@0
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (+ (* (exp (neg (/ (neg (log x)) n))) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x)) (/ (exp (neg (/ (neg (log x)) n))) n)) x) (+ (* (exp (neg (/ (neg (log x)) n))) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x)) (/ (exp (neg (/ (neg (log x)) n))) n)) (/ (pow (pow (exp -1) -1) (/ (log x) n)) n) (pow (pow (exp -1) -1) (/ (log x) n)) (pow (exp -1) -1) (exp -1) -1 (/ (log x) n) (log x) x n (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ (/ x n) 1) (/ x n) 1 (pow x (/ 1 n)) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (- (log (+ 1 x)) (log x)) n) (pow (* n x) -1) (* n x) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (log (/ (+ 1 x) x)) n) (log (/ (+ 1 x) x)) (/ (+ 1 x) x) (+ 1 x) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (exp (/ (log x) n)) (* n x)) (exp (/ (log x) n)))
71.0ms
x
@inf
((- (cbrt (+ x 1)) (cbrt x)) (* (cbrt (* (pow x -1) (pow x -1))) 1/3) (cbrt (* (pow x -1) (pow x -1))) (* (pow x -1) (pow x -1)) (pow x -1) x -1 1/3 (- (cbrt (+ x 1)) (pow x 1/3)) (cbrt (+ x 1)) 1 (pow x 1/3) (- (cbrt (+ x 1)) (pow x 1/3)) (cbrt (+ x 1)) (+ x 1) (- (cbrt (+ x 1)) (exp (* (log x) 1/3))) (cbrt (+ x 1)) (+ x 1) (exp (* (log x) 1/3)) (* (log x) 1/3) (log x) (- (cbrt (exp (* (log (cbrt (- x -1))) 3))) (cbrt x)) (cbrt (exp (* (log (cbrt (- x -1))) 3))) (exp (* (log (cbrt (- x -1))) 3)) (* (log (cbrt (- x -1))) 3) (log (cbrt (- x -1))) (cbrt (- x -1)) (- x -1) 3 (cbrt x))
64.0ms
N
@inf
((log (+ 1 (/ 1 N))) (/ 1 N) 1 N (- (log (+ N 1)) (log N)) (/ (- 1 (/ 1/2 N)) N) (- 1 (/ 1/2 N)) (- (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 1/2 (- (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/3 N) 1/4) (* N N)) (+ (* -1/3 N) 1/4) -1/3 1/4 (* N N) -1 -1/2 (neg N) (log (+ 1 (exp (neg (log N))))) (exp (neg (log N))) (neg (log N)) (log N))
52.0ms
x
@0
((* (* (cos (/ (+ (+ eps x) x) 2)) (sin (/ (- (+ eps x) x) 2))) 2) (* (cos (/ (+ (+ eps x) x) 2)) (sin (/ (- (+ eps x) x) 2))) (* (cos (* (+ (* 2 x) eps) 1/2)) (sin (* 1/2 eps))) (cos (* (+ (* 2 x) eps) 1/2)) (* (+ (* 2 x) eps) 1/2) (+ (* 1/2 eps) x) 1/2 eps x (sin (* 1/2 eps)) (* 1/2 eps) 2 (- (sin (+ x eps)) (sin x)) (* (+ (* (* (sin x) eps) -1/2) (cos x)) eps) (+ (* (* (sin x) eps) -1/2) (cos x)) (+ (* (* -1/2 (+ eps x)) x) 1) (* (* x eps) -1/2) (* x eps) -1/2 (- (sin (+ x eps)) (sin x)) (* (+ (* (* (sin x) eps) -1/2) (cos x)) eps) (+ (* (* (sin x) eps) -1/2) (cos x)) (+ (* (* -1/2 (+ eps x)) x) 1) (* -1/2 (+ eps x)) (+ eps x) 1 (- (sin (+ x eps)) (sin x)) (* (+ (* (* (sin x) eps) -1/2) (cos x)) eps) (+ (* (* (sin x) eps) -1/2) (cos x)) (+ (* (+ (* (- (* (* eps x) 1/12) 1/2) x) (* -1/2 eps)) x) 1) (+ (* (- (* (* eps x) 1/12) 1/2) x) (* -1/2 eps)) (- (* (* eps x) 1/12) 1/2) (* (* eps x) 1/12) (* eps x) 1/12 (* -1/2 eps) (- (sin (+ x eps)) (sin x)) (* (+ (* (* (sin x) eps) -1/2) (cos x)) eps) (+ (* (* (sin x) eps) -1/2) (cos x)) (* (sin x) eps) (sin x) (* (+ (* (* x x) -1/6) 1) x) (cos x))
50.0ms
n
@inf
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (+ (* (exp (neg (/ (neg (log x)) n))) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x)) (/ (exp (neg (/ (neg (log x)) n))) n)) x) (+ (* (exp (neg (/ (neg (log x)) n))) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x)) (/ (exp (neg (/ (neg (log x)) n))) n)) (/ (pow (pow (exp -1) -1) (/ (log x) n)) n) (pow (pow (exp -1) -1) (/ (log x) n)) (pow (exp -1) -1) (exp -1) -1 (/ (log x) n) (log x) x n (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ (/ x n) 1) (/ x n) 1 (pow x (/ 1 n)) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (- (log (+ 1 x)) (log x)) n) (pow (* n x) -1) (* n x) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (log (/ (+ 1 x) x)) n) (log (/ (+ 1 x) x)) (/ (+ 1 x) x) (+ 1 x) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (exp (/ (log x) n)) (* n x)) (exp (/ (log x) n)))

prune3.5s (2%)

Memory
-238.8MiB live, 4 142.0MiB allocated; 1.5s collecting garbage
Counts
37 008 → 1 414
Samples
393.0ms6 400×0valid
Compiler

Compiled 73 832 to 40 434 computations (45.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 199.0ms
ival-mult!: 143.0ms (71.8% of total)
ival-add!: 55.0ms (27.6% of total)
adjust: 1.0ms (0.5% of total)

regimes2.4s (1.4%)

Memory
103.0MiB live, 2 925.0MiB allocated; 580ms collecting garbage
Counts
2 576 → 295
Calls

43 calls:

525.0ms
x
237.0ms
b
155.0ms
eps
137.0ms
(-.f64 (cbrt.f64 (+.f64 x #s(literal 1 binary64))) (cbrt.f64 x))
79.0ms
a
Compiler

Compiled 1 842 to 1 723 computations (6.5% saved)

analyze1.4s (0.9%)

Memory
38.3MiB live, 1 463.4MiB allocated; 343ms 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.4s (0.8%)

Memory
-167.9MiB live, 1 185.0MiB allocated; 175ms collecting garbage
Stop Event
27×node limit
saturated

bsearch1.4s (0.8%)

Memory
11.4MiB live, 1 325.3MiB allocated; 183ms collecting garbage
Algorithm
88×binary-search
17×left-value
Stop Event
81×narrow-enough
predicate-same
Samples
549.0ms5 162×0valid
154.0ms801×1valid
92.0ms1 329×0invalid
78.0ms266×2valid
2.0ms11×3valid
1.0ms17×0exit
Compiler

Compiled 30 765 to 23 317 computations (24.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 637.0ms
ival-mult!: 215.0ms (33.8% of total)
ival-pow: 95.0ms (14.9% of total)
ival-div!: 71.0ms (11.1% of total)
ival-sub!: 65.0ms (10.2% of total)
adjust: 57.0ms (8.9% of total)
ival-sqrt: 45.0ms (7.1% of total)
ival-neg: 39.0ms (6.1% of total)
ival-add!: 21.0ms (3.3% of total)
ival-cos: 15.0ms (2.4% of total)
ival-exp: 6.0ms (0.9% of total)
ival-cbrt: 4.0ms (0.6% of total)
ival-expm1: 4.0ms (0.6% of total)

start1.0ms (0%)

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

end0.0ms (0%)

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

Profiling

Loading profile data...