Herbie run

Date:Wednesday, December 25th, 2024
Commit:c9389bd5 on prune-once-before-extraction
Seed:2024360
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:370 411.5 MB

Time bar (total: 5.7min)

sample1.6min (28.1%)

Memory
1 384.4MiB live, 110 517.4MiB allocated; 31.9s collecting garbage
Samples
51.4s434 061×0valid
9.5s26 465×1valid
4.4s9 264×2valid
2.0s4 368×0invalid
1.4s8 985×0exit
295.0ms844×3valid
Precisions
Click to see histograms. Total time spent on operations: 51.2s
ival-mult: 14.0s (27.3% of total)
ival-add: 5.7s (11.1% of total)
const: 4.4s (8.6% of total)
ival-div: 3.9s (7.6% of total)
ival-exp: 3.8s (7.5% of total)
adjust: 2.5s (4.9% of total)
ival-sub: 2.5s (4.8% of total)
ival-hypot: 2.4s (4.7% of total)
ival-log: 2.2s (4.3% of total)
ival-sin: 1.1s (2.2% of total)
ival-asin: 1.1s (2.2% of total)
ival-acosh: 1.0s (2% of total)
ival-cos: 973.0ms (1.9% of total)
ival-sqrt: 849.0ms (1.7% of total)
ival-atan2: 700.0ms (1.4% of total)
ival->: 414.0ms (0.8% of total)
ival-sinu: 393.0ms (0.8% of total)
ival-asinh: 390.0ms (0.8% of total)
exact: 373.0ms (0.7% of total)
ival-pow: 361.0ms (0.7% of total)
ival-pi: 326.0ms (0.6% of total)
ival-neg: 315.0ms (0.6% of total)
ival-fabs: 315.0ms (0.6% of total)
ival-true: 266.0ms (0.5% of total)
ival-atanh: 240.0ms (0.5% of total)
ival-assert: 206.0ms (0.4% of total)
ival-<=: 202.0ms (0.4% of total)
ival->=: 87.0ms (0.2% of total)
ival-cosu: 85.0ms (0.2% of total)
ival-and: 80.0ms (0.2% of total)
Bogosity

simplify1.1min (20.1%)

Memory
147.5MiB live, 70 196.4MiB allocated; 15.5s collecting garbage
Algorithm
457×egg-herbie
Stop Event
610×iter limit
384×node limit
73×saturated
Counts
14 254 → 14 094

derivations37.7s (11.1%)

Memory
142.3MiB live, 29 763.6MiB allocated; 6.5s collecting garbage
Stop Event
459×iter limit
206×node limit
34×fuel
25×unsound
23×done
saturated
Compiler

Compiled 34 556 to 4 422 computations (87.2% saved)

localize32.4s (9.5%)

Memory
-364.0MiB live, 35 485.5MiB allocated; 10.6s collecting garbage
Samples
12.4s41 154×0valid
6.0s5 230×1valid
4.2s1 747×2valid
1.2s2 657×0invalid
172.0ms117×3valid
161.0ms27×5exit
94.0ms248×0exit
18.0ms20×4valid
Compiler

Compiled 64 341 to 6 002 computations (90.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.3s
ival-mult: 4.3s (25% of total)
ival-add: 3.0s (17.6% of total)
adjust: 1.8s (10.3% of total)
ival-div: 1.5s (8.9% of total)
const: 1.3s (7.4% of total)
ival-sub: 909.0ms (5.2% of total)
ival-exp: 657.0ms (3.8% of total)
ival-hypot: 573.0ms (3.3% of total)
ival-log: 567.0ms (3.3% of total)
ival-pow: 492.0ms (2.8% of total)
ival-sin: 377.0ms (2.2% of total)
ival-acos: 275.0ms (1.6% of total)
ival-sqrt: 232.0ms (1.3% of total)
ival-neg: 193.0ms (1.1% of total)
ival-asin: 187.0ms (1.1% of total)
ival-cos: 187.0ms (1.1% of total)
ival-pow2: 144.0ms (0.8% of total)
ival-atan2: 111.0ms (0.6% of total)
exact: 91.0ms (0.5% of total)
ival-fabs: 50.0ms (0.3% of total)
ival-pi: 45.0ms (0.3% of total)
ival-log1p: 45.0ms (0.3% of total)
ival-true: 40.0ms (0.2% of total)
ival-cosu: 38.0ms (0.2% of total)
ival-sinu: 29.0ms (0.2% of total)
ival-copysign: 29.0ms (0.2% of total)
ival-assert: 23.0ms (0.1% of total)
ival-cosh: 19.0ms (0.1% of total)
ival-asinh: 14.0ms (0.1% of total)
ival-acosh: 7.0ms (0% of total)
ival-sinh: 6.0ms (0% of total)

rewrite23.8s (7%)

Memory
504.2MiB live, 25 437.8MiB allocated; 3.7s collecting garbage
Stop Event
610×iter limit
150×node limit
47×unsound
saturated
Counts
2 747 → 44 718

explain16.1s (4.7%)

Memory
-399.7MiB live, 18 268.8MiB allocated; 4.3s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue11970
-.f64#fcancellation7662
/.f64#fo/o6510
sqrt.f32#foflow-rescue1840
sin.f64#fsensitivity1790
/.f64#fo/n1780
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))sensitivity1771
+.f64#fcancellation1460
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1252
sqrt.f64#fuflow-rescue1230
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1180
-.f64#fnan-rescue1160
/.f64#fn/o920
*.f64#fn*u800
/.f64#fu/u730
+.f64#fnan-rescue510
/.f64#fu/n450
*.f64#fn*o290
/.f64#fn/u150
log.f32(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))oflow-rescue20
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))overflow2
(*.f32 x x)overflow129
(-.f32 (*.f32 x x) #s(literal 1 binary32))overflow129
exp.f64#fsensitivity22
*.f64(*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)))))o*u20
(*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64))))overflow2
(pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))overflow2
(exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64))))underflow2
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue10
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow1
(*.f64 x.re x.re)overflow59
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow105
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow62
sin.f64(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue10
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow1
(*.f64 x.re x.re)overflow59
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow105
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow62
Confusion
Predicted +Predicted -
+358838
-19210774
Precision
0.9492063492063492
Recall
0.9895201323772752
Confusion?
Predicted +Predicted MaybePredicted -
+3588632
-192310771
Precision?
0.948535233570863
Recall?
0.9911748483177054
Freqs
test
numberfreq
010812
13211
2565
34
Total Confusion?
Predicted +Predicted MaybePredicted -
+3610
-0020
Precision?
1.0
Recall?
1.0
Samples
3.0s25 562×0valid
2.2s2 654×1valid
742.0ms904×2valid
25.0ms64×3valid
Compiler

Compiled 13 558 to 2 283 computations (83.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.8s
ival-mult: 902.0ms (24% of total)
adjust: 468.0ms (12.4% of total)
ival-add: 430.0ms (11.4% of total)
const: 246.0ms (6.5% of total)
ival-div: 240.0ms (6.4% of total)
ival-exp: 234.0ms (6.2% of total)
ival-hypot: 215.0ms (5.7% of total)
ival-log: 214.0ms (5.7% of total)
ival-sub: 141.0ms (3.7% of total)
ival-atan2: 117.0ms (3.1% of total)
ival-sqrt: 95.0ms (2.5% of total)
ival-sin: 92.0ms (2.4% of total)
ival-copysign: 67.0ms (1.8% of total)
ival-asin: 65.0ms (1.7% of total)
ival-cos: 55.0ms (1.5% of total)
ival-cosu: 43.0ms (1.1% of total)
ival-pow: 28.0ms (0.7% of total)
ival-true: 25.0ms (0.7% of total)
exact: 21.0ms (0.6% of total)
ival-fabs: 17.0ms (0.5% of total)
ival-pi: 14.0ms (0.4% of total)
ival-assert: 13.0ms (0.3% of total)
ival-neg: 12.0ms (0.3% of total)
ival-log1p: 7.0ms (0.2% of total)
ival-sinu: 7.0ms (0.2% of total)

preprocess15.0s (4.4%)

Memory
335.1MiB live, 15 758.5MiB allocated; 2.8s collecting garbage
Algorithm
57×egg-herbie
Stop Event
114×iter limit
72×node limit
42×saturated
Compiler

Compiled 77 758 to 13 951 computations (82.1% saved)

eval14.5s (4.2%)

Memory
-333.4MiB live, 18 695.7MiB allocated; 4.3s collecting garbage
Compiler

Compiled 3 761 885 to 284 851 computations (92.4% saved)

regimes11.6s (3.4%)

Memory
352.1MiB live, 14 117.1MiB allocated; 2.1s collecting garbage
Counts
7 890 → 914
Calls

132 calls:

792.0ms
re
713.0ms
im
490.0ms
y.re
486.0ms
y.im
449.0ms
x
Compiler

Compiled 13 014 to 9 245 computations (29% saved)

series10.2s (3%)

Memory
178.8MiB live, 12 736.7MiB allocated; 3.3s collecting garbage
Counts
2 747 → 14 254
Calls

1245 calls:

TimeVariablePointExpression
356.0ms
im
@-inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg im) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im))) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (exp im) (+ (* -1/120 (* im im)) -1/6))
136.0ms
u1
@0
((/ 1 6) (+ (* (* (/ 1 6) (pow (* -2 (log u1)) 1/2)) (cos (* (* 2 (PI)) u2))) 1/2) (* (* (/ 1 6) (pow (* -2 (log u1)) 1/2)) (cos (* (* 2 (PI)) u2))) (* (/ 1 6) (pow (* -2 (log u1)) 1/2)) (+ (* (* (/ 1 6) (pow (* -2 (log u1)) 1/2)) (cos (* (* 2 (PI)) u2))) 1/2) (+ (* (* (sqrt -2) 1/6) (sqrt (log u1))) 1/2) (* (sqrt -2) 1/6) (sqrt -2) (pow (pow (* (log u1) -2) 1/4) 2) (+ (* (* (/ 1 6) (pow (pow (* (log u1) -2) 1/4) 2)) (cos (* (* 2 (PI)) u2))) 1/2) (* (* (/ 1 6) (pow (pow (* (log u1) -2) 1/4) 2)) (cos (* (* 2 (PI)) u2))) (* (pow (* (log u1) -2) 1/4) (* (pow (* (log u1) -2) 1/4) 1/6)) (+ (* (* (pow (* (log u1) -2) 1/4) (* (pow (* (log u1) -2) 1/4) 1/6)) (cos (* (* 2 (PI)) u2))) 1/2) (* (* (pow (* (log u1) -2) 1/4) (* (pow (* (log u1) -2) 1/4) 1/6)) (cos (* (* 2 (PI)) u2))) (pow (* (log u1) -2) 1/4) (- (* (cos (* u2 (* (PI) 2))) (* (sqrt (* (log u1) -2)) 1/6)) 1/2) (- (/ (pow (* (cos (* u2 (* (PI) 2))) (* (sqrt (* (log u1) -2)) 1/6)) 2) (- (* (cos (* u2 (* (PI) 2))) (* (sqrt (* (log u1) -2)) 1/6)) 1/2)) (/ 1/4 (- (* (cos (* u2 (* (PI) 2))) (* (sqrt (* (log u1) -2)) 1/6)) 1/2))) (/ (pow (* (cos (* u2 (* (PI) 2))) (* (sqrt (* (log u1) -2)) 1/6)) 2) (- (* (cos (* u2 (* (PI) 2))) (* (sqrt (* (log u1) -2)) 1/6)) 1/2)) (pow (* (cos (* u2 (* (PI) 2))) (* (sqrt (* (log u1) -2)) 1/6)) 2) (PI) (pow (* -2 (log u1)) 1/2) (cos (* (* 2 (PI)) u2)) (log u1) (sqrt (log u1)) (* 2 (PI)) (cos (* u2 (* (PI) 2))) (sqrt (* (log u1) -2)))
136.0ms
x
@-inf
((log (* (log x) x)) (* (log x) x) (log x) (log (/ x (log x))) (/ x (log x)))
124.0ms
x
@0
((copysign (asinh (fabs x)) x) (asinh (fabs x)) (fabs x) (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1)))) x) (log (+ (fabs x) (sqrt (+ (* x x) 1)))) (log x) (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1)))) x) (log (+ (fabs x) (sqrt (+ (* x x) 1)))) (+ (fabs x) (sqrt (+ (* x x) 1))) (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1)))) x) (log (+ (fabs x) (sqrt (+ (* x x) 1)))) (+ (fabs x) (sqrt (+ (* x x) 1))) (+ (* (/ (+ (/ 1/2 x) (fabs x)) x) x) x) (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1)))) x) (log (+ (fabs x) (sqrt (+ (* x x) 1)))) (+ (fabs x) (sqrt (+ (* x x) 1))) (+ (* x x) 1) (sqrt (+ (* x x) 1)) (sqrt (+ (* x x) 1)) (/ (+ (/ 1/2 x) (fabs x)) x))
116.0ms
x
@0
((copysign (asinh (fabs x)) x) (asinh (fabs x)) (fabs x) (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1)))) x) (log (+ (fabs x) (sqrt (+ (* x x) 1)))) (log x) (+ (* (/ (fabs x) x) x) x) (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1)))) x) (log (+ (fabs x) (sqrt (+ (* x x) 1)))) (+ (fabs x) (sqrt (+ (* x x) 1))) (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1)))) x) (log (+ (fabs x) (sqrt (+ (* x x) 1)))) (+ (fabs x) (sqrt (+ (* x x) 1))) (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1)))) x) (log (+ (fabs x) (sqrt (+ (* x x) 1)))) (+ (fabs x) (sqrt (+ (* x x) 1))) (* (- (/ (fabs x) x) 1) x) (/ (fabs x) x) (+ (* x x) 1) (sqrt (+ (* x x) 1)))

prune6.4s (1.9%)

Memory
182.8MiB live, 9 145.3MiB allocated; 2.4s collecting garbage
Counts
66 960 → 2 667
Compiler

Compiled 243 140 to 106 474 computations (56.2% saved)

bsearch5.6s (1.6%)

Memory
-18.6MiB live, 6 397.0MiB allocated; 1.6s collecting garbage
Algorithm
259×binary-search
229×left-value
Stop Event
254×narrow-enough
predicate-same
Samples
2.6s16 573×0valid
1.0s2 203×1valid
100.0ms328×2valid
36.0ms128×3valid
Compiler

Compiled 163 941 to 95 012 computations (42% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.7s
ival-mult: 702.0ms (25.6% of total)
ival-hypot: 652.0ms (23.8% of total)
ival-add: 246.0ms (9% of total)
ival-log: 198.0ms (7.2% of total)
ival-exp: 162.0ms (5.9% of total)
ival-sin: 143.0ms (5.2% of total)
adjust: 128.0ms (4.7% of total)
const: 107.0ms (3.9% of total)
ival-sub: 105.0ms (3.8% of total)
ival-cos: 91.0ms (3.3% of total)
ival-atan2: 73.0ms (2.7% of total)
ival-div: 72.0ms (2.6% of total)
ival-sqrt: 21.0ms (0.8% of total)
ival-true: 14.0ms (0.5% of total)
ival-assert: 8.0ms (0.3% of total)
ival-neg: 8.0ms (0.3% of total)
exact: 7.0ms (0.3% of total)
ival-fabs: 4.0ms (0.1% of total)
ival-pi: 1.0ms (0% of total)

analyze3.4s (1%)

Memory
31.5MiB live, 3 884.3MiB allocated; 1.9s collecting garbage
Algorithm
58×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%86.3%13.7%0%0%0%0
55.4%47.8%38.5%13.7%0%0%0%1
65.9%55.7%28.9%13.7%0%1.7%0%2
71.2%58.4%23.6%13.7%0%4.3%0%3
77.4%62%18.1%13.7%0%6.2%0%4
83.5%66.8%13.2%13.7%0%6.3%0%5
85.8%68.3%11.3%13.7%0%6.6%0%6
88.3%70.3%9.4%13.7%0%6.6%0%7
89.9%71.5%8%13.7%0%6.8%0%8
91.1%72.5%7.1%13.7%0%6.8%0%9
92.6%73.6%5.9%13.7%0%6.8%0%10
94%74.7%4.8%13.7%0%6.8%0%11
94.5%75.1%4.4%13.7%0%6.9%0%12
Compiler

Compiled 1 498 to 816 computations (45.5% saved)

start2.0ms (0%)

Memory
6.6MiB live, 6.4MiB allocated; 0ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...