Diagrams.Color.HSV:lerp from diagrams-contrib-1.3.0.5

Time bar (total: 6.6s)

analyze1.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample6.1s (93.1%)

Results
745.0ms8255×0valid-sollya
1.6s8255×0valid-rival
Bogosity

preprocess343.0ms (5.2%)

Algorithm
egg-herbie
Rules
1182×fma-neg
301×fma-define
196×distribute-rgt-in
195×unsub-neg
137×sub-neg
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
040399
1102387
2236379
3682351
41707339
52872337
63242337
73282337
83286337
93286317
103929317
113929317
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) y) (*.f64 (neg.f64 x) z))
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 y)) (*.f64 x z))
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x (neg.f64 z)))
(neg.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) y) (*.f64 (neg.f64 x) z)))
(neg.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 y)) (*.f64 x z)))
(neg.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x (neg.f64 z))))
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) x) (*.f64 y z))
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) z) y) (*.f64 z x))
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) z) (*.f64 x y))
Outputs
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y (*.f64 x z))
(fma.f64 x z (*.f64 (-.f64 #s(literal 1 binary64) x) y))
(-.f64 y (*.f64 x (-.f64 y z)))
(+.f64 y (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) y)
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y (*.f64 x z))
(fma.f64 x z (*.f64 (-.f64 #s(literal 1 binary64) x) y))
(-.f64 y (*.f64 x (-.f64 y z)))
(+.f64 y (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) y)
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) y) (*.f64 (neg.f64 x) z))
(fma.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) y (*.f64 x (neg.f64 z)))
(-.f64 (*.f64 y (+.f64 #s(literal 1 binary64) x)) (*.f64 x z))
(+.f64 y (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 y z) y)
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 y)) (*.f64 x z))
(fma.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 y) (*.f64 x z))
(-.f64 (*.f64 x z) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
(fma.f64 x z (*.f64 y (+.f64 x #s(literal -1 binary64))))
(-.f64 (*.f64 x (+.f64 y z)) y)
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x (neg.f64 z)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y (*.f64 x (neg.f64 z)))
(-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
(-.f64 y (*.f64 x (+.f64 y z)))
(neg.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) y) (*.f64 (neg.f64 x) z)))
(neg.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) y (*.f64 x (neg.f64 z))))
(-.f64 (*.f64 x z) (*.f64 y (+.f64 #s(literal 1 binary64) x)))
(fma.f64 y (-.f64 #s(literal -1 binary64) x) (*.f64 x z))
(-.f64 (*.f64 x (-.f64 z y)) y)
(neg.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 y)) (*.f64 x z)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y (*.f64 x (neg.f64 z)))
(-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
(-.f64 y (*.f64 x (+.f64 y z)))
(neg.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x (neg.f64 z))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 y) (*.f64 x z))
(-.f64 (*.f64 x z) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
(fma.f64 x z (*.f64 y (+.f64 x #s(literal -1 binary64))))
(-.f64 (*.f64 x (+.f64 y z)) y)
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) x) (*.f64 y z))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x (*.f64 y z))
(fma.f64 x (-.f64 #s(literal 1 binary64) y) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 z x)))
(fma.f64 y (-.f64 z x) x)
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) z) y) (*.f64 z x))
(fma.f64 (-.f64 #s(literal 1 binary64) z) y (*.f64 x z))
(fma.f64 x z (*.f64 y (-.f64 #s(literal 1 binary64) z)))
(-.f64 y (*.f64 z (-.f64 y x)))
(fma.f64 z (-.f64 x y) y)
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) z) (*.f64 x y))
(fma.f64 (-.f64 #s(literal 1 binary64) x) z (*.f64 x y))
(fma.f64 x y (*.f64 (-.f64 #s(literal 1 binary64) x) z))
(+.f64 z (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 y z) z)
Compiler

Compiled 12 to 8 computations (33.3% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune3.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
98.0%
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
Compiler

Compiled 24 to 16 computations (33.3% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp
*-commutative
+-commutative
sub-neg
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01437
12537
22937
33137
43237
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
Outputs
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 12 to 8 computations (33.3% saved)

preprocess100.0ms (1.5%)

Compiler

Compiled 68 to 44 computations (35.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...