Herbie run

Date:Wednesday, December 4th, 2024
Commit:9ca6c17b on no-localize
Hostname:nightly with Racket 8.10
Seed:2024339
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:235 673.1 MB

Time bar (total: 4.0min)

sample2.1min (50.9%)

Memory
533.1MiB live, 121 344.2MiB allocated
Samples
29.5s41 497×2valid
25.8s146 047×0invalid
22.2s92 341×1valid
11.5s4 951×5exit
10.1s94 372×0valid
2.1s2 950×3valid
649.0ms2 207×1exit
601.0ms4 054×0exit
10.0ms4exit
9.0ms4valid
3.0ms2exit
1.0ms3exit
Precisions
Click to see histograms. Total time spent on operations: 1.4min
ival-tan: 12.7s (15.2% of total)
ival-pow: 11.3s (13.5% of total)
adjust: 6.6s (7.9% of total)
ival-mult: 6.2s (7.4% of total)
const: 5.1s (6.1% of total)
ival-div: 4.8s (5.8% of total)
ival-cos: 4.6s (5.5% of total)
ival-sub: 4.2s (5% of total)
ival-add: 3.9s (4.7% of total)
ival-log: 3.5s (4.2% of total)
ival-sin: 3.4s (4% of total)
ival-exp: 2.5s (2.9% of total)
ival-fabs: 2.3s (2.8% of total)
ival-expm1: 2.3s (2.8% of total)
ival-log1p: 2.2s (2.6% of total)
ival-<=: 2.1s (2.5% of total)
ival-sqrt: 1.6s (1.9% of total)
ival-fmin: 940.0ms (1.1% of total)
ival-<: 836.0ms (1% of total)
ival-and: 642.0ms (0.8% of total)
ival-atan: 382.0ms (0.5% of total)
ival->: 366.0ms (0.4% of total)
exact: 359.0ms (0.4% of total)
ival-cbrt: 298.0ms (0.4% of total)
ival-neg: 278.0ms (0.3% of total)
ival-assert: 148.0ms (0.2% of total)
ival-true: 71.0ms (0.1% of total)
Bogosity

soundness27.6s (11.4%)

Memory
294.7MiB live, 16 418.6MiB allocated
Stop Event
205×iter limit
140×node limit
24×fuel
done
Compiler

Compiled 14 898 to 6 805 computations (54.3% saved)

rewrite23.0s (9.5%)

Memory
178.3MiB live, 23 208.6MiB allocated
Stop Event
224×iter limit
109×node limit
Counts
2 922 → 64 840

simplify22.2s (9.2%)

Memory
1.9MiB live, 20 060.5MiB allocated
Algorithm
137×egg-herbie
Stop Event
131×node limit
110×iter limit
saturated
Counts
10 791 → 10 625

eval18.4s (7.6%)

Memory
211.8MiB live, 22 128.0MiB allocated
Compiler

Compiled 4 125 807 to 435 722 computations (89.4% saved)

explain5.9s (2.4%)

Memory
-87.0MiB live, 7 159.7MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation422729
log.f64#fsensitivity7670
sqrt.f64#foflow-rescue4140
/.f64#fu/u4070
+.f64#fcancellation3390
/.f64#fu/n1130
pow.f64#fsensitivity660
-.f64#fnan-rescue240
sqrt.f64#fuflow-rescue200
/.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)underflow144
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow152
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow144
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow223
(*.f64 a eps)underflow152
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o70
(*.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/o20
(exp.f64 (*.f64 #s(literal 2 binary64) x))overflow2
(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))overflow2
(exp.f64 x)overflow2
(-.f64 (exp.f64 x) #s(literal 1 binary64))overflow2
sin.f64(sin.f64 (+.f64 x eps))sensitivity20
tan.f64(tan.f64 (+.f64 x eps))sensitivity20
cos.f64(cos.f64 (+.f64 x eps))sensitivity10
exp.f64(exp.f64 (*.f64 #s(literal 2 binary64) x))sensitivity10
/.f64(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))o/n10
(*.f64 b b)overflow85
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c)))))overflow1
(*.f64 #s(literal 4 binary64) (*.f64 a c))overflow22
(*.f64 a c)overflow22
(-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c)))overflow97
Confusion
Predicted +Predicted -
+523811
-1471772
Precision
0.9727019498607242
Recall
0.9979043627357592
Confusion?
Predicted +Predicted MaybePredicted -
+523883
-147211751
Precision?
0.9689693387513852
Recall?
0.999428462564298
Freqs
test
numberfreq
01783
14552
2682
3108
443
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.6s2 620×2valid
1.2s5 820×1valid
514.0ms5 712×0valid
103.0ms184×3valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.7s
ival-tan: 553.0ms (20.6% of total)
ival-log: 332.0ms (12.4% of total)
ival-cos: 252.0ms (9.4% of total)
adjust: 240.0ms (8.9% of total)
ival-sin: 222.0ms (8.3% of total)
ival-div: 171.0ms (6.4% of total)
ival-add: 166.0ms (6.2% of total)
ival-sub: 165.0ms (6.1% of total)
ival-exp: 132.0ms (4.9% of total)
ival-mult: 128.0ms (4.8% of total)
ival-pow: 90.0ms (3.4% of total)
ival-log1p: 71.0ms (2.6% of total)
ival-sqrt: 63.0ms (2.3% of total)
ival-atan: 23.0ms (0.9% of total)
ival-expm1: 23.0ms (0.9% of total)
ival-cbrt: 16.0ms (0.6% of total)
ival-true: 13.0ms (0.5% of total)
ival-neg: 12.0ms (0.4% of total)
exact: 8.0ms (0.3% of total)
ival-assert: 6.0ms (0.2% of total)

preprocess5.8s (2.4%)

Memory
202.7MiB live, 5 350.0MiB allocated
Algorithm
28×egg-herbie
Stop Event
56×iter limit
33×saturated
23×node limit
Compiler

Compiled 18 350 to 5 309 computations (71.1% saved)

prune5.0s (2.1%)

Memory
-24.7MiB live, 7 814.7MiB allocated
Counts
104 396 → 1 831
Compiler

Compiled 110 493 to 55 849 computations (49.5% saved)

series4.8s (2%)

Memory
51.4MiB live, 5 180.2MiB allocated
Counts
2 922 → 10 791
Calls

501 calls:

TimeVariablePointExpression
348.0ms
a
@0
((/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (+ (* (/ 1/2 (exp (log b_2))) c) (* (/ b_2 a) -2)) (/ 1/2 (exp (log b_2))) 1/2 (exp (log b_2)) (log b_2) b_2 c (* (/ b_2 a) -2) (/ b_2 a) a -2 (/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (+ (* (/ 1/2 b_2) c) (* (/ b_2 a) -2)) (* (/ -1/2 b_2) c) (/ -1/2 b_2) -1/2 (/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (+ (* (/ 1/2 b_2) c) (* (/ b_2 a) -2)) (/ (+ (* (/ (* b_2 b_2) a) -2) (* 1/2 c)) b_2) (+ (* (/ (* b_2 b_2) a) -2) (* 1/2 c)) (/ (* b_2 b_2) a) (* b_2 b_2) (* 1/2 c) (/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) (neg b_2) (sqrt (- (* b_2 b_2) (* a c))) (* (+ (* (/ -1/2 b_2) (* a (/ c b_2))) 1) (neg b_2)) (+ (* (/ -1/2 b_2) (* a (/ c b_2))) 1) (* a (/ c b_2)) (/ c b_2) 1 (/ (- (* (neg b_2) a) (* a (sqrt (- (* b_2 b_2) (* a c))))) (* a a)) (- (* (neg b_2) a) (* a (sqrt (- (* b_2 b_2) (* a c))))) (* (neg b_2) a) (* a (sqrt (- (* b_2 b_2) (* a c)))) (sqrt (- (* b_2 b_2) (* a c))) (- (* b_2 b_2) (* a c)) (* (* (- 1 (* (/ (/ c b_2) b_2) a)) b_2) b_2) (* (- 1 (* (/ (/ c b_2) b_2) a)) b_2) (- 1 (* (/ (/ c b_2) b_2) a)) (* (neg a) (/ c (* b_2 b_2))) (neg a) (/ c (* b_2 b_2)) (* a a))
81.0ms
x
@-inf
((/ (/ (+ (* 1 (* (+ x 1) x)) (* (- x 1) (- x (* 2 (+ x 1))))) (+ (* x x) x)) (- x 1)) (/ (+ (* 1 (* (+ x 1) x)) (* (- x 1) (- x (* 2 (+ x 1))))) (+ (* x x) x)) (+ (* 1 (* (+ x 1) x)) (* (- x 1) (- x (* 2 (+ x 1))))) 2 (+ (* x x) x) x (- x 1) 1 (+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))) (/ 2 (* (* x x) x)) (* (* x x) x) (* x x) (/ (+ (* 1 (* (+ x 1) x)) (* (- x 1) (- x (* 2 (+ x 1))))) (* (+ (* x x) x) (- x 1))) (* (+ (* x x) x) (- x 1)) (/ (/ (+ (* 1 (* (+ x 1) x)) (* (- x 1) (- x (* 2 (+ x 1))))) (- (* x x) 1)) x) (/ (+ (* 1 (* (+ x 1) x)) (* (- x 1) (- x (* 2 (+ x 1))))) (- (* x x) 1)) (- (* x x) 1) (+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))) (/ (/ 2 (pow x 3/2)) (pow x 3/2)) (/ 2 (pow x 3/2)) (pow x 3/2) 3/2)
74.0ms
x
@inf
((/ (log (- 1 x)) (log (+ 1 x))) (log (- 1 x)) (* (- (* (- (* (- (* -1/4 x) 1/3) x) 1/2) x) 1) x) (- (* (- (* (- (* -1/4 x) 1/3) x) 1/2) x) 1) (* (- (* (- (* -1/4 x) 1/3) x) 1/2) x) (- (* (- (* -1/4 x) 1/3) x) 1/2) (* (- (* -1/4 x) 1/3) x) (- (* -1/4 x) 1/3) (* -1/4 x) -1/4 x 1/3 1/2 1 (log (+ 1 x)) (* (+ (* (- (* (+ (* -1/4 x) 1/3) x) 1/2) x) 1) x) (+ (* (- (* (+ (* -1/4 x) 1/3) x) 1/2) x) 1) (- (* (+ (* -1/4 x) 1/3) x) 1/2) (* (+ (* -1/4 x) 1/3) x) (+ (* -1/4 x) 1/3) (/ (log (- 1 x)) (log (+ 1 x))) (- (neg x) 1) (neg x) (/ (log (+ 1 (neg x))) (log (+ 1 x))) (log (+ 1 (neg x))) (log (+ 1 x)) (+ 1 x) (/ (- (log (/ (+ (* x x) 1) (/ (+ (* x x) 1) (+ (* (* x x) (neg x)) 1)))) (log (+ 1 (+ (* x x) x)))) (log (+ 1 x))) (- (log (/ (+ (* x x) 1) (/ (+ (* x x) 1) (+ (* (* x x) (neg x)) 1)))) (log (+ 1 (+ (* x x) x)))) (log (/ (+ (* x x) 1) (/ (+ (* x x) 1) (+ (* (* x x) (neg x)) 1)))) (/ (+ (* x x) 1) (/ (+ (* x x) 1) (+ (* (* x x) (neg x)) 1))) (+ (* x x) 1) (/ (+ (* x x) 1) (+ (* (* x x) (neg x)) 1)) (+ (* (* x x) (neg x)) 1) (* x x) (log (+ 1 (+ (* x x) x))) (+ (* x x) x) (/ (- (log (/ (+ (* x x) 1) (/ (+ (* x x) 1) (- 1 (pow x 3))))) (log (+ 1 (+ (* x x) x)))) (log (+ 1 x))) (- (log (/ (+ (* x x) 1) (/ (+ (* x x) 1) (- 1 (pow x 3))))) (log (+ 1 (+ (* x x) x)))) (log (/ (+ (* x x) 1) (/ (+ (* x x) 1) (- 1 (pow x 3))))) (/ (+ (* x x) 1) (/ (+ (* x x) 1) (- 1 (pow x 3)))) (/ (+ (* x x) 1) (- 1 (pow x 3))) (- 1 (pow x 3)) (pow x 3) 3 (log (+ 1 x)))
71.0ms
n
@inf
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (- (/ (log (+ 1 x)) n) (/ (- (/ (+ (* (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n) 1/6) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (log x)) (neg n))) (/ (log (+ 1 x)) n) (log (+ 1 x)) x n (/ (- (/ (+ (* (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n) 1/6) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (log x)) (neg n)) (- (/ (+ (* (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n) 1/6) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (log x)) (neg (log x)) (log x) (neg n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (exp (/ (log x) n)) (* n x)) (/ 1 (* n x)) 1 (* n x) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ (* (/ (+ 1 (* (+ (/ 1/2 n) -1/2) x)) n) x) 1) (/ (+ 1 (* (+ (/ 1/2 n) -1/2) x)) n) (+ 1 (* (+ (/ 1/2 n) -1/2) x)) (* (+ (/ 1/2 n) -1/2) x) (+ (/ 1/2 n) -1/2) (/ 1/2 n) 1/2 -1/2 (pow x (/ 1 n)) (/ 1 n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (exp (/ (log x) n)) (* n x)) (/ (/ 1 n) (exp (log x))) (exp (log x)) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (- (/ (log (+ 1 x)) n) (/ (- (/ (+ (* (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n) 1/6) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (log x)) (neg (* (sqrt n) (sqrt n))))) (/ (- (/ (+ (* (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n) 1/6) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (log x)) (neg (* (sqrt n) (sqrt n)))) (- (/ (+ (* (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n) 1/6) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (log x)) (/ (+ (* (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n) 1/6) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (+ (* (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n) 1/6) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n) (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) (pow (log (+ 1 x)) 3) 3 (pow (log x) 3) 1/6 (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) (pow (log (+ 1 x)) 2) 2 (pow (log x) 2) (neg (* (sqrt n) (sqrt n))) (* (sqrt n) (sqrt n)) (sqrt n))
68.0ms
x
@-inf
((- (cbrt (+ x 1)) (cbrt x)) (/ (* (/ 1 (sqrt x)) 1/3) (sqrt (cbrt x))) (* (/ 1 (sqrt x)) 1/3) (/ 1 (sqrt x)) 1 (sqrt x) x 1/3 (sqrt (cbrt x)) (cbrt x) (- (cbrt (+ x 1)) (cbrt x)) (* (pow x -2/3) 1/3) (pow x -2/3) -2/3 (- (cbrt (+ x 1)) (cbrt x)) (* (cbrt (/ (/ (/ 1 (sqrt x)) (sqrt x)) x)) 1/3) (cbrt (/ (/ (/ 1 (sqrt x)) (sqrt x)) x)) (/ (/ (/ 1 (sqrt x)) (sqrt x)) x) (/ (/ 1 (sqrt x)) (sqrt x)) (- (cbrt (+ x 1)) (cbrt x)) (/ (/ 1/3 (cbrt (* (sqrt x) (sqrt x)))) (cbrt x)) (/ 1/3 (cbrt (* (sqrt x) (sqrt x)))) (cbrt (* (sqrt x) (sqrt x))) (* (sqrt x) (sqrt x)) (- (cbrt (+ x 1)) (cbrt x)) (/ (/ 1/3 (* (cbrt (sqrt x)) (cbrt (sqrt x)))) (cbrt x)) (/ 1/3 (* (cbrt (sqrt x)) (cbrt (sqrt x)))) (* (cbrt (sqrt x)) (cbrt (sqrt x))) (cbrt (sqrt x)))

regimes3.4s (1.4%)

Memory
-6.1MiB live, 3 773.7MiB allocated
Counts
3 521 → 301
Calls

43 calls:

1.2s
x
217.0ms
eps
155.0ms
a
146.0ms
(/.f64 #s(literal 1 binary64) n)
123.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 2 085 to 1 931 computations (7.4% saved)

analyze2.1s (0.9%)

Memory
150.7MiB live, 2 147.1MiB allocated
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.1s (0.4%)

Memory
27.9MiB live, 1 085.6MiB allocated
Algorithm
72×binary-search
20×left-value
Stop Event
71×narrow-enough
predicate-same
Samples
352.0ms4 282×0valid
119.0ms812×1valid
86.0ms224×2valid
64.0ms874×0invalid
2.0ms10×3valid
2.0ms19×0exit
Compiler

Compiled 27 858 to 20 594 computations (26.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 421.0ms
ival-mult: 85.0ms (20.2% of total)
ival-sub: 68.0ms (16.2% of total)
ival-pow: 59.0ms (14% of total)
ival-div: 51.0ms (12.1% of total)
ival-sqrt: 47.0ms (11.2% of total)
adjust: 26.0ms (6.2% of total)
ival-neg: 21.0ms (5% of total)
ival-add: 20.0ms (4.8% of total)
ival-cbrt: 13.0ms (3.1% of total)
ival-cos: 9.0ms (2.1% of total)
ival-expm1: 8.0ms (1.9% of total)
ival-true: 5.0ms (1.2% of total)
ival-exp: 4.0ms (1% of total)
exact: 3.0ms (0.7% of total)
ival-assert: 2.0ms (0.5% of total)

start1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated

end0.0ms (0%)

Memory
0.4MiB live, 0.3MiB allocated

Profiling

Loading profile data...