Lanczos kernel

Time bar (total: 2.7s)

analyze15.0ms (0.6%)

Memory
4.6MiB live, 4.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 47 to 23 computations (51.1% saved)

sample2.6s (94.3%)

Memory
21.5MiB live, 684.8MiB allocated
Samples
711.0ms8 256×73valid-baseline
624.0ms8 256×73valid-rival
425.0ms8 256×73valid-sollya
Precisions
Click to see Rival histograms. Total time spent on operations: 478.0ms
ival-sin: 204.0ms (42.6% of total)
ival-mult: 135.0ms (28.2% of total)
ival-div: 95.0ms (19.9% of total)
ival-pi: 34.0ms (7.1% of total)
ival-true: 8.0ms (1.7% of total)
ival-assert: 3.0ms (0.6% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 474.0ms
ival-sin: 195.0ms (41.1% of total)
ival-mult: 139.0ms (29.3% of total)
ival-div: 94.0ms (19.8% of total)
ival-pi: 39.0ms (8.2% of total)
const: 7.0ms (1.5% of total)
Bogosity

preprocess115.0ms (4.2%)

Memory
4.5MiB live, 22.8MiB allocated
Algorithm
egg-herbie
Rules
1 984×fma-define
834×associate-*l*
764×distribute-lft-neg-in
760×distribute-frac-neg2
668×times-frac
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
038663
1112663
2494631
32565631
45282631
57342631
Stop Event
node limit
Calls
Call 1
Inputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 (neg.f32 x) (PI.f32)) tau)) (*.f32 (*.f32 (neg.f32 x) (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 (neg.f32 x) (PI.f32))) (*.f32 (neg.f32 x) (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))) (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(neg.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 (neg.f32 x) (PI.f32)) tau)) (*.f32 (*.f32 (neg.f32 x) (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 (neg.f32 x) (PI.f32))) (*.f32 (neg.f32 x) (PI.f32)))))
(neg.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))) (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x)) (/.f32 (sin.f32 (*.f32 tau (PI.f32))) (*.f32 tau (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (*.f32 (PI.f32) tau)) (*.f32 x (PI.f32)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) (*.f32 x (*.f32 x (*.f32 (PI.f32) tau))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (*.f32 (PI.f32) tau)) (*.f32 x (PI.f32)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) (*.f32 x (*.f32 x (*.f32 (PI.f32) tau))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 (neg.f32 x) (PI.f32)) tau)) (*.f32 (*.f32 (neg.f32 x) (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 (neg.f32 x) (PI.f32))) (*.f32 (neg.f32 x) (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (*.f32 (PI.f32) tau)) (*.f32 x (PI.f32)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) (*.f32 x (*.f32 x (*.f32 (PI.f32) tau))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))) (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (*.f32 (PI.f32) tau)) (*.f32 x (PI.f32)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) (*.f32 x (*.f32 x (*.f32 (PI.f32) tau))))))
(neg.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 (neg.f32 x) (PI.f32)) tau)) (*.f32 (*.f32 (neg.f32 x) (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 (neg.f32 x) (PI.f32))) (*.f32 (neg.f32 x) (PI.f32)))))
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) (neg.f32 x)))) (*.f32 tau (*.f32 (PI.f32) (neg.f32 x)))) (neg.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (neg.f32 x))) (*.f32 (PI.f32) (neg.f32 x)))))
(/.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 (neg.f32 x) tau))) (*.f32 (PI.f32) (*.f32 (neg.f32 x) tau))) (sin.f32 (*.f32 (PI.f32) (neg.f32 x)))) (neg.f32 (*.f32 (PI.f32) (neg.f32 x))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 tau (*.f32 (PI.f32) (neg.f32 x))) (*.f32 x (PI.f32)))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 (PI.f32) (neg.f32 x))) (*.f32 x (*.f32 (PI.f32) tau))))
(neg.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))) (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) (neg.f32 x)))) (*.f32 tau (*.f32 (PI.f32) (neg.f32 x)))) (neg.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (neg.f32 x))) (*.f32 (PI.f32) (neg.f32 x)))))
(/.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 (neg.f32 x) tau))) (*.f32 (PI.f32) (*.f32 (neg.f32 x) tau))) (sin.f32 (*.f32 (PI.f32) (neg.f32 x)))) (neg.f32 (*.f32 (PI.f32) (neg.f32 x))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 tau (*.f32 (PI.f32) (neg.f32 x))) (*.f32 x (PI.f32)))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 (PI.f32) (neg.f32 x))) (*.f32 x (*.f32 (PI.f32) tau))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x)) (/.f32 (sin.f32 (*.f32 tau (PI.f32))) (*.f32 tau (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 (PI.f32) tau)))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 (PI.f32) tau)) (*.f32 (PI.f32) (*.f32 x tau))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 (*.f32 x (*.f32 (PI.f32) tau)) (*.f32 (PI.f32) tau))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 (PI.f32) (*.f32 (PI.f32) (*.f32 tau tau))))))
Symmetry

(abs x)

(abs tau)

Compiler

Compiled 23 to 10 computations (56.5% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.1%
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Compiler

Compiled 46 to 20 computations (56.5% saved)

simplify2.0ms (0.1%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01689
11989
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))

soundness0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Stop Event
fuel
Compiler

Compiled 23 to 10 computations (56.5% saved)

preprocess21.0ms (0.8%)

Memory
-1.1MiB live, 29.9MiB allocated
Remove

(abs tau)

(abs x)

Compiler

Compiled 276 to 120 computations (56.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...