Numeric.SpecFunctions:choose from math-functions-0.1.5.2

Time bar (total: 2.4s)

analyze46.0ms (2%)

Memory
-15.4MiB live, 17.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
50%49.9%49.9%0.1%0%0%0%4
50%49.9%49.9%0.1%0%0%0%5
50%49.9%49.9%0.1%0%0%0%6
75%74.9%25%0.1%0%0%0%7
75%74.9%25%0.1%0%0%0%8
75%74.9%25%0.1%0%0%0%9
87.5%87.4%12.5%0.1%0%0%0%10
87.5%87.4%12.5%0.1%0%0%0%11
87.5%87.4%12.5%0.1%0%0%0%12
Compiler

Compiled 20 to 15 computations (25% saved)

sample2.1s (88.5%)

Memory
15.7MiB live, 620.2MiB allocated
Samples
467.0ms8 256×0valid-sollya
368.0ms8 256×0valid-baseline
329.0ms8 256×0valid-rival
Bogosity

preprocess203.0ms (8.6%)

Memory
-10.8MiB live, 22.2MiB allocated
Algorithm
egg-herbie
Rules
1 372×fma-define
616×div-sub
614×fmm-def
382×times-frac
341×distribute-lft-in
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
036369
1117353
2318345
31015318
42919314
56041308
67113308
77211308
87307308
97432302
107649302
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 x (+.f64 y z)) z)
(/.f64 (*.f64 x (+.f64 y z)) z)
(/.f64 (*.f64 (neg.f64 x) (+.f64 y z)) z)
(/.f64 (*.f64 x (+.f64 (neg.f64 y) z)) z)
(/.f64 (*.f64 x (+.f64 y (neg.f64 z))) (neg.f64 z))
(neg.f64 (/.f64 (*.f64 (neg.f64 x) (+.f64 y z)) z))
(neg.f64 (/.f64 (*.f64 x (+.f64 (neg.f64 y) z)) z))
(neg.f64 (/.f64 (*.f64 x (+.f64 y (neg.f64 z))) (neg.f64 z)))
(/.f64 (*.f64 y (+.f64 x z)) z)
(/.f64 (*.f64 z (+.f64 y x)) x)
(/.f64 (*.f64 x (+.f64 z y)) y)
Outputs
(/.f64 (*.f64 x (+.f64 y z)) z)
(*.f64 (+.f64 y z) (/.f64 x z))
(*.f64 x (-.f64 (/.f64 y z) #s(literal -1 binary64)))
(*.f64 x (+.f64 (/.f64 y z) #s(literal 1 binary64)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y z)))
(fma.f64 x (/.f64 y z) x)
(/.f64 (*.f64 x (+.f64 y z)) z)
(*.f64 (+.f64 y z) (/.f64 x z))
(*.f64 x (-.f64 (/.f64 y z) #s(literal -1 binary64)))
(*.f64 x (+.f64 (/.f64 y z) #s(literal 1 binary64)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y z)))
(fma.f64 x (/.f64 y z) x)
(/.f64 (*.f64 (neg.f64 x) (+.f64 y z)) z)
(*.f64 (neg.f64 x) (/.f64 (+.f64 y z) z))
(*.f64 (+.f64 y z) (/.f64 (neg.f64 x) z))
(*.f64 x (/.f64 (+.f64 y z) (neg.f64 z)))
(*.f64 (neg.f64 x) (-.f64 (/.f64 y z) #s(literal -1 binary64)))
(*.f64 x (-.f64 #s(literal -1 binary64) (/.f64 y z)))
(/.f64 (*.f64 x (+.f64 (neg.f64 y) z)) z)
(/.f64 (*.f64 x (+.f64 z (neg.f64 y))) z)
(*.f64 (-.f64 z y) (/.f64 x z))
(*.f64 x (/.f64 (-.f64 z y) z))
(*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 y z)))
(/.f64 (*.f64 x (+.f64 y (neg.f64 z))) (neg.f64 z))
(/.f64 (*.f64 x (+.f64 z (neg.f64 y))) z)
(*.f64 (-.f64 z y) (/.f64 x z))
(*.f64 x (/.f64 (-.f64 z y) z))
(*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 y z)))
(neg.f64 (/.f64 (*.f64 (neg.f64 x) (+.f64 y z)) z))
(/.f64 (*.f64 x (+.f64 y z)) z)
(*.f64 (+.f64 y z) (/.f64 x z))
(*.f64 x (-.f64 (/.f64 y z) #s(literal -1 binary64)))
(*.f64 x (+.f64 (/.f64 y z) #s(literal 1 binary64)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y z)))
(fma.f64 x (/.f64 y z) x)
(neg.f64 (/.f64 (*.f64 x (+.f64 (neg.f64 y) z)) z))
(/.f64 (*.f64 x (+.f64 z (neg.f64 y))) (neg.f64 z))
(*.f64 (neg.f64 x) (/.f64 (-.f64 z y) z))
(*.f64 (-.f64 y z) (/.f64 x z))
(*.f64 x (+.f64 #s(literal -1 binary64) (/.f64 y z)))
(neg.f64 (/.f64 (*.f64 x (+.f64 y (neg.f64 z))) (neg.f64 z)))
(/.f64 (*.f64 x (+.f64 z (neg.f64 y))) (neg.f64 z))
(*.f64 (neg.f64 x) (/.f64 (-.f64 z y) z))
(*.f64 (-.f64 y z) (/.f64 x z))
(*.f64 x (+.f64 #s(literal -1 binary64) (/.f64 y z)))
(/.f64 (*.f64 y (+.f64 x z)) z)
(*.f64 y (/.f64 (+.f64 x z) z))
(*.f64 y (-.f64 (/.f64 x z) #s(literal -1 binary64)))
(*.f64 y (+.f64 (/.f64 x z) #s(literal 1 binary64)))
(fma.f64 x (/.f64 y z) y)
(/.f64 (*.f64 z (+.f64 y x)) x)
(*.f64 z (/.f64 (+.f64 x y) x))
(*.f64 z (+.f64 (/.f64 y x) #s(literal 1 binary64)))
(*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y x)))
(fma.f64 y (/.f64 z x) z)
(/.f64 (*.f64 x (+.f64 z y)) y)
(/.f64 (*.f64 x (+.f64 y z)) y)
(*.f64 (+.f64 y z) (/.f64 x y))
(*.f64 x (/.f64 (+.f64 y z) y))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 z y)))
(fma.f64 z (/.f64 x y) x)
(fma.f64 x (/.f64 z y) x)
Symmetry

(negabs x)

Compiler

Compiled 10 to 6 computations (40% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.6%
(/.f64 (*.f64 x (+.f64 y z)) z)
Compiler

Compiled 20 to 12 computations (40% saved)

simplify1.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
11431
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 x (+.f64 y z)) z)
Outputs
(/.f64 (*.f64 x (+.f64 y z)) z)

soundness0.0ms (0%)

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

Compiled 10 to 6 computations (40% saved)

preprocess21.0ms (0.9%)

Memory
1.6MiB live, 32.8MiB allocated
Remove

(negabs x)

Compiler

Compiled 100 to 60 computations (40% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...