Herbie run

Date:Saturday, December 28th, 2024
Commit:e085da8f on no-big-exponents
Seed:2024363
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:401 745.6 MB

Time bar (total: 6.2min)

sample1.7min (27.3%)

Memory
1 266.6MiB live, 114 447.9MiB allocated; 34.8s collecting garbage
Samples
53.7s433 856×0valid
10.6s26 532×1valid
5.5s9 352×2valid
2.3s4 403×0invalid
1.6s9 175×0exit
349.0ms898×3valid
Precisions
Click to see histograms. Total time spent on operations: 54.0s
ival-mult: 15.3s (28.4% of total)
ival-add: 5.7s (10.5% of total)
const: 4.8s (9% of total)
ival-div: 4.3s (7.9% of total)
ival-exp: 3.6s (6.7% of total)
ival-hypot: 2.9s (5.4% of total)
adjust: 2.7s (5.1% of total)
ival-sub: 2.3s (4.3% of total)
ival-log: 2.0s (3.6% of total)
ival-asin: 1.9s (3.6% of total)
ival-cos: 1.2s (2.3% of total)
ival-sin: 1.2s (2.2% of total)
ival-sqrt: 939.0ms (1.7% of total)
ival-atan2: 796.0ms (1.5% of total)
ival-neg: 471.0ms (0.9% of total)
ival-pow: 410.0ms (0.8% of total)
exact: 373.0ms (0.7% of total)
ival->: 359.0ms (0.7% of total)
ival-acosh: 358.0ms (0.7% of total)
ival-sinu: 347.0ms (0.6% of total)
ival-asinh: 330.0ms (0.6% of total)
ival-true: 281.0ms (0.5% of total)
ival-pi: 259.0ms (0.5% of total)
ival-fabs: 252.0ms (0.5% of total)
ival-atanh: 207.0ms (0.4% of total)
ival-assert: 206.0ms (0.4% of total)
ival-<=: 177.0ms (0.3% of total)
ival->=: 98.0ms (0.2% of total)
ival-cosu: 88.0ms (0.2% of total)
ival-and: 80.0ms (0.1% of total)
Bogosity

simplify1.1min (17.8%)

Memory
272.9MiB live, 64 254.0MiB allocated; 16.2s collecting garbage
Stop Event
609×iter limit
344×node limit
114×saturated
unsound
Counts
15 307 → 15 133

derivations44.2s (11.9%)

Memory
-183.1MiB live, 33 442.8MiB allocated; 6.4s collecting garbage
Stop Event
357×iter limit
229×node limit
35×fuel
22×done
saturated
unsound
Compiler

Compiled 32 552 to 4 355 computations (86.6% saved)

rewrite40.9s (11%)

Memory
435.3MiB live, 43 842.0MiB allocated; 10.6s collecting garbage
Stop Event
439×iter limit
190×node limit
unsound
saturated
Counts
2 778 → 82 985

localize32.5s (8.7%)

Memory
455.8MiB live, 37 677.5MiB allocated; 8.4s collecting garbage
Samples
11.9s41 124×0valid
7.8s5 427×1valid
3.3s1 908×2valid
1.2s2 632×0invalid
329.0ms452×0exit
157.0ms126×3valid
149.0ms38×5exit
23.0ms4valid
Compiler

Compiled 70 677 to 6 183 computations (91.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.8s
ival-mult: 5.1s (27.1% of total)
ival-div: 2.6s (13.7% of total)
ival-add: 2.4s (12.7% of total)
adjust: 2.2s (11.5% of total)
const: 1.5s (7.9% of total)
ival-log: 673.0ms (3.6% of total)
ival-exp: 592.0ms (3.1% of total)
ival-pow: 559.0ms (3% of total)
ival-sub: 542.0ms (2.9% of total)
ival-hypot: 531.0ms (2.8% of total)
ival-sqrt: 332.0ms (1.8% of total)
ival-sin: 319.0ms (1.7% of total)
ival-neg: 232.0ms (1.2% of total)
ival-acos: 173.0ms (0.9% of total)
ival-cos: 140.0ms (0.7% of total)
ival-asin: 125.0ms (0.7% of total)
ival-copysign: 118.0ms (0.6% of total)
ival-atan2: 103.0ms (0.5% of total)
ival-fabs: 101.0ms (0.5% of total)
exact: 77.0ms (0.4% of total)
ival-sinu: 76.0ms (0.4% of total)
ival-pi: 69.0ms (0.4% of total)
ival-pow2: 68.0ms (0.4% of total)
ival-cosh: 53.0ms (0.3% of total)
ival-true: 43.0ms (0.2% of total)
ival-sinh: 36.0ms (0.2% of total)
ival-log1p: 35.0ms (0.2% of total)
ival-asinh: 30.0ms (0.2% of total)
ival-assert: 23.0ms (0.1% of total)
ival-cbrt: 18.0ms (0.1% of total)
ival-cosu: 9.0ms (0% of total)
ival-acosh: 7.0ms (0% of total)
ival->: 1.0ms (0% of total)
ival-then: 0.0ms (0% of total)

eval20.8s (5.6%)

Memory
235.8MiB live, 28 119.5MiB allocated; 6.4s collecting garbage
Compiler

Compiled 5 673 977 to 440 088 computations (92.2% saved)

explain15.8s (4.2%)

Memory
-216.8MiB live, 18 153.0MiB allocated; 4.6s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue11720
-.f64#fcancellation7643
/.f64#fo/o6570
sin.f64#fsensitivity1820
/.f64#fo/n1820
sqrt.f32#foflow-rescue1810
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)))sensitivity1810
sqrt.f64#fuflow-rescue1500
+.f64#fcancellation1460
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1381
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1280
-.f64#fnan-rescue1010
/.f64#fn/o1000
*.f64#fn*u600
/.f64#fu/u480
/.f64#fu/n450
+.f64#fnan-rescue380
*.f64#fn*o280
/.f64#fn/u90
exp.f64#fsensitivity50
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 (atan2.f64 x.im x.re) y.re)overflow1
(*.f64 x.re x.re)overflow56
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow103
(*.f64 x.im x.im)overflow61
log.f32(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))oflow-rescue10
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))overflow1
(*.f32 x x)overflow126
(-.f32 (*.f32 x x) #s(literal 1 binary32))overflow126
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 (atan2.f64 x.im x.re) y.re)overflow1
(*.f64 x.re x.re)overflow56
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow103
(*.f64 x.im x.im)overflow61
*.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*u10
(*.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))))overflow1
(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)))overflow1
(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))))underflow1
Confusion
Predicted +Predicted -
+358937
-18910777
Precision
0.9499735309687666
Recall
0.9897959183673469
Confusion?
Predicted +Predicted MaybePredicted -
+3589433
-189010777
Precision?
0.9500264410364886
Recall?
0.9908990623276338
Freqs
test
numberfreq
010814
13242
2531
35
Total Confusion?
Predicted +Predicted MaybePredicted -
+3701
-0019
Precision?
1.0
Recall?
0.9736842105263158
Samples
3.7s25 438×0valid
1.4s2 700×1valid
767.0ms990×2valid
20.0ms54×3valid
1.0ms5exit
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: 1.2s (31.8% of total)
ival-add: 406.0ms (10.8% of total)
adjust: 388.0ms (10.3% of total)
ival-div: 280.0ms (7.4% of total)
ival-log: 246.0ms (6.5% of total)
const: 211.0ms (5.6% of total)
ival-exp: 178.0ms (4.7% of total)
ival-hypot: 148.0ms (3.9% of total)
ival-sub: 117.0ms (3.1% of total)
ival-atan2: 116.0ms (3.1% of total)
ival-sin: 68.0ms (1.8% of total)
ival-asin: 62.0ms (1.6% of total)
ival-sqrt: 57.0ms (1.5% of total)
ival-cos: 56.0ms (1.5% of total)
ival-pow: 52.0ms (1.4% of total)
ival-fabs: 51.0ms (1.4% of total)
ival-true: 27.0ms (0.7% of total)
exact: 21.0ms (0.6% of total)
ival-pi: 16.0ms (0.4% of total)
ival-copysign: 14.0ms (0.4% of total)
ival-assert: 13.0ms (0.3% of total)
ival-log1p: 12.0ms (0.3% of total)
ival-neg: 12.0ms (0.3% of total)
ival-cosu: 9.0ms (0.2% of total)
ival-sinu: 7.0ms (0.2% of total)

preprocess11.6s (3.1%)

Memory
750.9MiB live, 13 371.8MiB allocated; 2.5s collecting garbage
Stop Event
114×iter limit
60×saturated
54×node limit
Compiler

Compiled 77 532 to 15 697 computations (79.8% saved)

series11.1s (3%)

Memory
235.1MiB live, 13 491.8MiB allocated; 2.8s collecting garbage
Counts
2 778 → 15 307
Calls

1260 calls:

TimeVariablePointExpression
136.0ms
x.re
@0
((sqrt (+ (* x.re x.re) (* x.im x.im))) (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (+ (* x.re x.re) (* x.im x.im)) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (atan2 x.im x.re) y.re) (* (neg (neg (log (sqrt (+ (* x.im x.im) (* x.re x.re)))))) y.im)))) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (* (sin (* (atan2 x.im x.re) y.re)) (pow (sqrt (+ (* x.im x.im) (* x.re x.re))) y.re)) (sin (* (atan2 x.im x.re) y.re)) (* (atan2 x.im x.re) y.re) (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (pow (sqrt (+ (* x.im x.im) (* x.re x.re))) y.re) (neg (* (neg (log x.re)) y.im)) (neg (* (neg (log x.re)) y.re)) (exp (- (neg (* (neg (log x.re)) y.re)) (* (atan2 x.im x.re) y.im))) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (exp (- (* (log (pow (* (+ (* x.im x.im) (* x.re x.re)) (+ (* x.im x.im) (* x.re x.re))) 1/4)) y.re) (* (atan2 x.im x.re) y.im))) (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)) (sin (+ (* (atan2 x.im x.re) y.re) (* (neg (neg (log (sqrt (+ (* x.im x.im) (* x.re x.re)))))) y.im))) (cos (* (atan2 x.im x.re) y.re)) (sqrt (+ (* x.re x.re) (* x.im x.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))) (/ (* x.re x.re) x.im) (sin (+ (* (atan2 x.im x.re) y.re) (neg (* (neg (log x.re)) y.im)))) (* (atan2 x.im x.re) y.im) (* (neg (log x.re)) y.re) (pow (* (+ (* x.im x.im) (* x.re x.re)) (+ (* x.im x.im) (* x.re x.re))) 1/4) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))
129.0ms
im
@inf
((/ (neg (log (sqrt (+ (* im im) (* re re))))) (log 1/10)) (/ (+ (* (* (pow (/ re im) 2) 1/2) (log 1/10)) (* (log 10) (neg (log im)))) (* (log 10) (log 1/10))) (+ (* (* (pow (/ re im) 2) 1/2) (log 1/10)) (* (log 10) (neg (log im)))) (* (pow (/ re im) 2) 1/2) (/ 0 0) (/ (* 2 (log (pow (+ (* im im) (* re re)) 1/4))) (log 10)) (* (log (sqrt im)) (/ 2 (neg (log 1/10)))) (log (sqrt im)) (sqrt im) (log (pow (+ (* im im) (* re re)) (/ -1/2 (log 1/10)))) (pow (+ (* im im) (* re re)) (/ -1/2 (log 1/10))) (+ (* im im) (* re re)) (* re re) (/ (neg (log (sqrt (+ (* im im) (* re re))))) (log 1/10)) (/ (+ (* (* (/ -1/2 (log 1/10)) (* re re)) (log 1/10)) (* (* im im) (neg (log im)))) (* (* im im) (log 1/10))) (+ (* (* (/ -1/2 (log 1/10)) (* re re)) (log 1/10)) (* (* im im) (neg (log im)))) (* (/ -1/2 (log 1/10)) (* re re)) (log 1/10) (log 10) (log im) (neg (log 1/10)) (/ -1/2 (log 1/10)) (neg (log im)))
129.0ms
base
@0
((/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (sqrt (+ (* re re) (* im im))) (* (atan2 im re) 0) (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (* (log base) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) (log base)))
118.0ms
x
@-inf
((log (* (log x) x)) (* (log x) x) (log x) (log (/ x (log x))) (/ x (log x)))
113.0ms
im
@inf
((/ (* (log (+ (* im im) (* re re))) 1/2) (log 10)) (* (log (+ (* im im) (* re re))) 1/2) (log (+ (* im im) (* re re))) (+ (* (/ re im) (/ re im)) (* 2 (log im))) (* 0 (log 10)) (/ 0 (* 0 (log 10))) (log 10) (/ (* 2 (log (pow (+ (* im im) (* re re)) 1/4))) (log 10)) (* (log (sqrt im)) (/ 2 (log 10))) (log (sqrt im)) (sqrt im) (+ (* (/ -1/2 (log 1/10)) (* (/ re im) (/ re im))) (/ (neg (log im)) (log 1/10))) (/ (neg (log (sqrt (+ (* im im) (* re re))))) (log 1/10)) (/ -1/2 (log 1/10)) (log 1/10) (/ (- (log (sqrt (+ (* (pow im 3) (pow im 3)) (* (pow re 3) (pow re 3))))) (log (sqrt (+ (* (+ (* im im) (* re re)) (+ (* im im) (* re re))) (* (* im re) (* im re)))))) (log 10)) (- (log (sqrt (+ (* (pow im 3) (pow im 3)) (* (pow re 3) (pow re 3))))) (log (sqrt (+ (* (+ (* im im) (* re re)) (+ (* im im) (* re re))) (* (* im re) (* im re)))))) (log (sqrt (+ (* (pow im 3) (pow im 3)) (* (pow re 3) (pow re 3))))) (sqrt (+ (* (pow im 3) (pow im 3)) (* (pow re 3) (pow re 3)))) (log im) (* 2 (log im)) (neg (log im)) (log (sqrt (+ (* (+ (* im im) (* re re)) (+ (* im im) (* re re))) (* (* im re) (* im re))))) (* im re))

regimes10.6s (2.9%)

Memory
124.4MiB live, 14 628.1MiB allocated; 2.0s collecting garbage
Counts
6 983 → 831
Calls

132 calls:

794.0ms
re
649.0ms
im
424.0ms
y.re
395.0ms
beta
384.0ms
x
Compiler

Compiled 13 894 to 9 562 computations (31.2% saved)

prune8.7s (2.4%)

Memory
-672.2MiB live, 11 614.9MiB allocated; 4.9s collecting garbage
Counts
106 047 → 2 714
Compiler

Compiled 257 700 to 109 529 computations (57.5% saved)

bsearch4.1s (1.1%)

Memory
-107.7MiB live, 4 740.3MiB allocated; 709ms collecting garbage
Algorithm
215×binary-search
196×left-value
Stop Event
203×narrow-enough
12×predicate-same
Samples
2.0s15 303×0valid
509.0ms1 121×1valid
32.0ms127×2valid
7.0ms25×3valid
Compiler

Compiled 140 944 to 79 756 computations (43.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.9s
ival-mult: 672.0ms (35.4% of total)
ival-hypot: 212.0ms (11.2% of total)
ival-add: 164.0ms (8.6% of total)
ival-log: 118.0ms (6.2% of total)
ival-atan2: 113.0ms (6% of total)
ival-exp: 104.0ms (5.5% of total)
const: 100.0ms (5.3% of total)
adjust: 86.0ms (4.5% of total)
ival-sub: 82.0ms (4.3% of total)
ival-sin: 77.0ms (4.1% of total)
ival-div: 72.0ms (3.8% of total)
ival-cos: 50.0ms (2.6% of total)
ival-sqrt: 13.0ms (0.7% of total)
ival-true: 12.0ms (0.6% of total)
ival-assert: 7.0ms (0.4% of total)
ival-fabs: 5.0ms (0.3% of total)
exact: 5.0ms (0.3% of total)
ival-neg: 3.0ms (0.2% of total)
ival-pi: 1.0ms (0.1% of total)

analyze3.5s (0.9%)

Memory
271.2MiB live, 3 954.4MiB allocated; 2.0s 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)

start61.0ms (0%)

Memory
-48.3MiB live, 6.1MiB allocated; 25ms collecting garbage

end0.0ms (0%)

Memory
1.6MiB live, 1.4MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...