Herbie run

Date:Tuesday, June 25th, 2024
Commit:f9aa416d on zane-job-abstraction5
Hostname:nightly with Racket 8.11.1
Seed:2024177
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 9.3min)

simplify2.4min (26.2%)

Memory
1 549.2MiB live, 210 437.8MiB allocated
Algorithm
270×egg-herbie
Rules
210 162×fma-define
123 218×distribute-lft-in
120 076×times-frac
114 382×*-commutative
108 714×associate-*r*
Stop Event
207×node limit
63×saturated
Counts
103 255 → 72 971

soundness1.5min (16.1%)

Memory
555.3MiB live, 100 585.0MiB allocated
Rules
95 248×fma-define
62 948×times-frac
59 110×associate-*r*
58 270×*-commutative
51 066×distribute-lft-in
Stop Event
157×node limit
29×fuel
saturated
done
Compiler

Compiled 75 218 to 12 359 computations (83.6% saved)

sample1.4min (14.9%)

Memory
534.8MiB live, 106 686.5MiB allocated
Samples
1.0min247 636×0valid
1.6s10 271×0invalid
6.0ms44×1valid
Precisions
Click to see histograms. Total time spent on operations: 51.9s
ival-mult: 10.8s (20.8% of total)
ival-<=: 8.1s (15.7% of total)
...in/eval/compile.rkt:77:19: 7.9s (15.3% of total)
ival-div: 4.9s (9.5% of total)
ival-add: 2.6s (4.9% of total)
ival-sub: 2.5s (4.7% of total)
ival-fabs: 2.0s (3.9% of total)
ival-log: 2.0s (3.8% of total)
ival-sqrt: 1.6s (3.1% of total)
ival-sin: 1.6s (3% of total)
ival-and: 1.1s (2.1% of total)
ival-cos: 1.0s (1.9% of total)
ival-floor: 884.0ms (1.7% of total)
ival-exp: 872.0ms (1.7% of total)
ival-neg: 731.0ms (1.4% of total)
ival-pi: 635.0ms (1.2% of total)
ival-<: 441.0ms (0.8% of total)
ival-log2: 330.0ms (0.6% of total)
ival-tan: 307.0ms (0.6% of total)
...in/eval/compile.rkt:76:19: 303.0ms (0.6% of total)
ival-if: 267.0ms (0.5% of total)
ival-fmax: 252.0ms (0.5% of total)
ival->: 220.0ms (0.4% of total)
ival-asin: 166.0ms (0.3% of total)
ival-atan: 115.0ms (0.2% of total)
ival-==: 95.0ms (0.2% of total)
ival-assert: 94.0ms (0.2% of total)
ival-sinh: 78.0ms (0.2% of total)
ival->=: 45.0ms (0.1% of total)
adjust: 1.0ms (0% of total)
Bogosity

prune42.5s (7.6%)

Memory
-720.0MiB live, 75 178.6MiB allocated
Counts
139 528 → 4 054
Compiler

Compiled 378 828 to 133 639 computations (64.7% saved)

regimes34.1s (6.1%)

Memory
40.2MiB live, 49 822.1MiB allocated
Counts
9 721 → 387
Calls

145 calls:

1.0s
h
857.0ms
u2
829.0ms
dX.v
772.0ms
s
746.0ms
(floor.f32 w)
Compiler

Compiled 14 029 to 9 692 computations (30.9% saved)

localize31.9s (5.7%)

Memory
175.3MiB live, 48 202.8MiB allocated
Samples
12.6s26 473×0valid
1.8s567×5exit
999.0ms1 844×0invalid
479.0ms1 406×0exit
369.0ms430×1valid
Compiler

Compiled 100 525 to 5 587 computations (94.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.3s
ival-mult: 3.6s (29.7% of total)
ival-div: 1.5s (12.4% of total)
ival-log: 735.0ms (6% of total)
ival-add: 699.0ms (5.7% of total)
ival-sqrt: 684.0ms (5.6% of total)
ival-pow2: 532.0ms (4.3% of total)
ival-sub: 495.0ms (4% of total)
ival-pow: 459.0ms (3.7% of total)
ival-hypot: 435.0ms (3.5% of total)
ival-sin: 366.0ms (3% of total)
...in/eval/compile.rkt:77:19: 317.0ms (2.6% of total)
ival-exp: 293.0ms (2.4% of total)
ival-tan: 253.0ms (2.1% of total)
ival-neg: 221.0ms (1.8% of total)
ival-floor: 198.0ms (1.6% of total)
ival-log1p: 194.0ms (1.6% of total)
adjust: 193.0ms (1.6% of total)
ival-fmax: 162.0ms (1.3% of total)
ival-log2: 130.0ms (1.1% of total)
ival-if: 125.0ms (1% of total)
ival-cos: 124.0ms (1% of total)
ival-asin: 98.0ms (0.8% of total)
ival-atan: 74.0ms (0.6% of total)
ival-cbrt: 62.0ms (0.5% of total)
ival-pi: 57.0ms (0.5% of total)
ival-expm1: 44.0ms (0.4% of total)
...in/eval/compile.rkt:76:19: 39.0ms (0.3% of total)
ival-true: 27.0ms (0.2% of total)
ival->=: 25.0ms (0.2% of total)
ival-fabs: 23.0ms (0.2% of total)
ival->: 18.0ms (0.1% of total)
ival-sinh: 15.0ms (0.1% of total)
ival-assert: 13.0ms (0.1% of total)
ival-<: 5.0ms (0% of total)
ival-e: 3.0ms (0% of total)

rewrite31.9s (5.7%)

Memory
-208.0MiB live, 35 454.4MiB allocated
Algorithm
120×batch-egg-rewrite
Rules
61 697×log1p-expm1-u
48 663×expm1-log1p-u
37 901×pow1
37 574×add-exp-log
36 512×log-prod
Stop Event
120×node limit
Counts
2 012 → 44 897

series29.9s (5.4%)

Memory
775.0MiB live, 49 889.4MiB allocated
Counts
2 012 → 58 358
Calls

14400 calls:

TimeVariablePointExpression
565.0ms
d
@0
(log (+ 1 (log2 (sqrt (fmax (pow (sqrt (+ (* (* (floor d) dX.w) (* (floor d) dX.w)) (* (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)))) (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))))))) 2) (pow (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) 2))))))
404.0ms
dY.u
@0
(fmax 1 (* (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (floor maxAniso) (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))))) (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (floor maxAniso)) (/ (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))))))
345.0ms
v
@0
(log (sinh (/ 1 v)))
314.0ms
w
@inf
(* (log (fmax (pow (sqrt (+ (* (* (floor d) dX.w) (* (floor d) dX.w)) (* (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)))) (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))))))) 2) (pow (* (floor d) dY.w) 2))) 1/2)
287.0ms
u
@0
(* (/ 1 (sin normAngle)) (+ (* (sin (* (- 1 u) normAngle)) n0_i) (* (sin (* u normAngle)) n1_i)))

eval27.5s (4.9%)

Memory
513.4MiB live, 48 158.8MiB allocated
Compiler

Compiled 13 063 496 to 589 910 computations (95.5% saved)

analyze21.4s (3.8%)

Memory
284.6MiB live, 32 474.0MiB allocated
Algorithm
30×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%2.6%97.4%0%0%0%0
0%0%2.6%97.4%0%0%0%1
7.8%0.2%2.4%97.4%0%0%0%2
8.5%0.2%2.4%97.4%0%0%0%3
12.8%0.3%2.3%97.4%0%0%0%4
47%1.2%1.4%97.4%0%0%0%5
51.8%1.3%1.2%97.4%0%0.1%0%6
69.5%1.8%0.8%97.4%0%0.1%0%7
71.6%1.8%0.7%97.4%0%0.1%0%8
81.1%2.1%0.5%97.4%0%0.1%0%9
82.6%2.1%0.4%97.4%0%0.1%0%10
88.3%2.2%0.3%97.4%0%0.1%0%11
89.1%2.2%0.3%97.4%0%0.1%0%12
Compiler

Compiled 2 586 to 1 076 computations (58.4% saved)

explain9.6s (1.7%)

Memory
41.9MiB live, 13 486.7MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity103570
-.f32#fcancellation40534
sqrt.f32#foflow-rescue4050
cos.f32#fsensitivity18813
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation18314
/.f32#fo/n1580
exp.f32#fsensitivity3415
sqrt.f32(sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))))uflow-rescue120
(*.f32 sinTheta_O sinTheta_O)underflow268
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow12
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow134
(*.f32 eta eta)underflow12
/.f32#fu/n120
/.f32#fo/o100
/.f32#fn/o90
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u30
*.f32#fn*o20
+.f32(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))cancellation10
Confusion
Predicted +Predicted -
+171658
-3885518
Precision
0.8155893536121673
Recall
0.9673055242390078
Confusion?
Predicted +Predicted MaybePredicted -
+17163325
-3881045414
Precision?
0.7804551539491299
Recall?
0.9859075535512966
Freqs
test
numberfreq
05576
11761
2333
310
Total Confusion?
Predicted +Predicted MaybePredicted -
+2020
-314
Precision?
0.8461538461538461
Recall?
1.0
Samples
2.6s15 320×0valid
13.0ms40×1valid
Compiler

Compiled 18 280 to 2 256 computations (87.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.7s
ival-mult: 648.0ms (37.2% of total)
ival-add: 236.0ms (13.6% of total)
ival-div: 190.0ms (10.9% of total)
ival-sin: 107.0ms (6.1% of total)
ival-log: 83.0ms (4.8% of total)
ival-sub: 74.0ms (4.3% of total)
ival-sqrt: 67.0ms (3.9% of total)
ival-exp: 40.0ms (2.3% of total)
ival-floor: 40.0ms (2.3% of total)
ival-cos: 40.0ms (2.3% of total)
ival-neg: 25.0ms (1.4% of total)
...in/eval/compile.rkt:77:19: 24.0ms (1.4% of total)
ival-pi: 21.0ms (1.2% of total)
ival-sinh: 21.0ms (1.2% of total)
ival-tan: 19.0ms (1.1% of total)
ival-fmax: 16.0ms (0.9% of total)
ival-if: 15.0ms (0.9% of total)
ival-log2: 15.0ms (0.9% of total)
ival-true: 13.0ms (0.7% of total)
ival-asin: 10.0ms (0.6% of total)
ival-fabs: 8.0ms (0.5% of total)
...in/eval/compile.rkt:76:19: 7.0ms (0.4% of total)
ival-atan: 7.0ms (0.4% of total)
ival-assert: 6.0ms (0.3% of total)
ival->: 3.0ms (0.2% of total)
ival->=: 3.0ms (0.2% of total)
adjust: 1.0ms (0.1% of total)
ival-<: 1.0ms (0.1% of total)

preprocess9.1s (1.6%)

Memory
34.9MiB live, 10 754.6MiB allocated
Algorithm
30×egg-herbie
Rules
30 620×fma-define
21 784×fmm-def
14 698×distribute-lft-neg-in
14 266×unsub-neg
11 858×distribute-rgt-neg-in
Stop Event
19×node limit
11×saturated
Compiler

Compiled 51 326 to 14 558 computations (71.6% saved)

bsearch46.0ms (0%)

Memory
-26.2MiB live, 94.0MiB allocated
Algorithm
54×binary-search
24×left-value
Stop Event
54×narrow-enough
Compiler

Compiled 3 802 to 1 878 computations (50.6% saved)

end0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated

Profiling

Loading profile data...